迅速返回什么而不是零

  • 本文关键字:返回 swift image null
  • 更新时间 :
  • 英文 :


我知道,你不能在 Swift 中返回nil
我可以用什么代替?

我有以下代码:

public func getImageFromFilename(name: String) -> UIImage {
    print(name)
    var img: UIImage?
    img = UIImage(named: name + ".jpg")
    if (img == nil) {
        img = UIImage(named: name + ".png")
    }
    return img!
}

如果文件不存在,则此代码不起作用。我可以返回什么以查看它是否成功?
如果图像存在,我想返回图像,否则我真的不知道该怎么办。

有两个选项。 您可以返回UIImage?其中nil作为返回的结果将指示文件加载不成功,或者返回UIImage但如果文件加载失败,则使该方法throw错误。

UIImage?的选项

public func getImageFromFilename(name: String) -> UIImage? {
    print(name)
    if let img = UIImage(named: name + ".jpg") {
        return img
    }
    if let img = UIImage(named: name + ".png") {
        return img
    }
    return nil
}

投掷选项:

public func getImageFromFilename(name: String) throws -> UIImage {
    print(name)
    if let img = UIImage(named: name + ".jpg") {
        return img
    }
    if let img = UIImage(named: name + ".png") {
        return img
    }
    throw YourErrorType.failedToLoadImage(name)
}

相关内容

  • 没有找到相关文章

最新更新