У меня возникают проблемы при обновлении кода приложения iOS до последней версии Swift.Явно заданный тип «NSURL?» при обновлении до Swift 3
У меня есть функция:
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 и работать.