我试图显示图像,但是发生以下错误:
错误:致命错误:解开可选值时意外发现nil
var imageURL:UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string:"http://cdn.businessoffashion.com/site/uploads/2014/09/Karl-Lagerfeld-Self-Portrait-Courtesy.jpg")
let data = NSData(contentsOfURL:url!)
if data!= nil {
imageURL.image = UIImage(data:data!)
}
}
从苹果文档:
重要的
不要使用此同步方法来请求基于网络的URL。对于基于网络的URL,此方法可能会在速度较慢的网络上将当前线程阻止数十秒钟,从而导致糟糕的用户体验,并且在iOS中,可能会导致您的应用终止。
相反,对于非文件URL,请考虑使用NSURLSession类的dataTaskWithURL:completionHandler:方法。有关详细信息,请参见《 URL会话编程指南》。
也许考虑将Alamofire用于此任务?
Alamofire.request(.GET, "http://cdn.businessoffashion.com/site/uploads/2014/09/Karl-Lagerfeld-Self-Portrait-Courtesy.jpg").response { (request, response, data, error) in
self.imageURL.image = UIImage(data: data, scale:1)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句