NSData contentsOfURL Returns 无?
NSData contentsOfURL Returns Nil?
我有以下代码
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>
但是错误依然存在。我可以尝试更多可能的解决方案吗?
这里有两种可能性。
- 复制的 URL 未正确转换为 NSURL
- NSURL 未转换为 NSData
- 图片无法加载数据
尝试以下操作:
if let url = NSURL(string: copiedURL) {
print(url)
if let data = NSData(contentsOfURL: url) {
print(data)
let image2 = UIImage(data: data)
}
}
强制解包几乎不是一个好主意 (!),而是使用 guard
或 if let
来解包,从而能够处理 nil 条件。
参考:Loading/Downloading image from URL on Swift如何正确下载图片
试试下面的代码:
if let url = NSURL(string: copiedURL) {
if let data = NSData(contentsOfURL: url) {
print("\(data)")
let image2 = UIImage(data: data)
}
}
如果 copiedURL
有有效的图像,你会得到它,否则至少你的应用程序不会崩溃。
我有以下代码
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>
但是错误依然存在。我可以尝试更多可能的解决方案吗?
这里有两种可能性。
- 复制的 URL 未正确转换为 NSURL
- NSURL 未转换为 NSData
- 图片无法加载数据
尝试以下操作:
if let url = NSURL(string: copiedURL) {
print(url)
if let data = NSData(contentsOfURL: url) {
print(data)
let image2 = UIImage(data: data)
}
}
强制解包几乎不是一个好主意 (!),而是使用 guard
或 if let
来解包,从而能够处理 nil 条件。
参考:Loading/Downloading image from URL on Swift如何正确下载图片
试试下面的代码:
if let url = NSURL(string: copiedURL) {
if let data = NSData(contentsOfURL: url) {
print("\(data)")
let image2 = UIImage(data: data)
}
}
如果 copiedURL
有有效的图像,你会得到它,否则至少你的应用程序不会崩溃。