我有以下代码
import Foundation
let url = NSURL(string: copiedURL)
let data = NSData(contentsOfURL: url!)
print("\(data)")
let image2 = UIImage(data: data!)
当我构建并运行时,我收到以下错误fatal error: unexpectedly found nil while unwrapping an Optional value
引用
let image2 = UIImage(data: data!)
我尝试使用以下
修改我的Info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
但错误仍然存在。我可以尝试更多可能的解决方案吗?
答案 0 :(得分:0)
这里有几种可能性。
尝试以下方法:
if let url = NSURL(string: copiedURL) {
print(url)
if let data = NSData(contentsOfURL: url) {
print(data)
let image2 = UIImage(data: data)
}
}
强制展开某些东西(!)几乎绝不是一个好主意,而是使用guard
或if let
来解包,从而能够处理零条件。
有关如何正确下载图像的信息,请参阅:Loading/Downloading image from URL on Swift。
答案 1 :(得分:0)
请尝试以下代码:
if let url = NSURL(string: copiedURL) {
if let data = NSData(contentsOfURL: url) {
print("\(data)")
let image2 = UIImage(data: data)
}
}
如果copiedURL
包含有效图片,您将获得该图片,否则至少您的应用不会崩溃。