繁体   English   中英

NSData contentsOfURL返回Nil吗?

[英]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引用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>

但是错误仍然存​​在。 我可以尝试其他解决方案吗?

这里有几种可能性。

  1. 复制的网址未正确转换为NSURL
  2. 未将NSURL转换为NSData
  3. 图像无法加载数据

请尝试以下操作:

if let url = NSURL(string: copiedURL) {
    print(url)
    if let data = NSData(contentsOfURL: url) {
        print(data)
        let image2 = UIImage(data: data)
    }
}

强制解包(!),而是使用guardif let解包,从而能够处理nil条件,这几乎不是一个好主意。

有关如何正确下载图像的信息,请参阅: 从Swift上的URL加载/下载图像

尝试以下代码:

if let url = NSURL(string: copiedURL) {
   if let data = NSData(contentsOfURL: url) {
   print("\(data)")
   let image2 = UIImage(data: data)
   }
}

如果copiedURL具有有效的图像,您将获得它,否则,您的应用程序将不会崩溃。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM