【发布时间】:2017-01-07 10:07:50
【问题描述】:
我在将我的 iOS 应用代码更新到最新版本的 Swift 时遇到问题。
我有一个函数:
public class func gifWithURL(gifUrl:String) -> UIImage? {
// Validate URL
guard let bundleURL:NSURL? = NSURL(string: gifUrl)
else {
print("SwiftGif: This image named \"\(gifUrl)\" does not exist")
return nil
}
// Validate data
guard let imageData = NSData(contentsOf: bundleURL! as URL) else {
print("SwiftGif: Cannot turn image named \"\(gifUrl)\" into NSData")
return nil
}
return gifWithData(data: imageData)
}
我在以下行收到警告:
guard let bundleURL:NSURL? = NSURL(string: gifUrl)
并收到警告:
明确指定类型'NSURL?'为初始化器添加了额外的可选级别,使可选检查始终成功
Xcode 允许我自动修复问题。当我执行此自动修复时,我的代码更改为:
guard let bundleURL:NSURL NSURL(string: gifUrl)
这显然不是正确的语法。
我不确定需要添加/删除什么才能使我的代码完全符合 Swift 3 标准并正常工作。
【问题讨论】: