[英]Swift what to return instead of nil?
我知道,您不能在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?
选项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)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.