我尝试显示图片但发生以下错误:
错误:致命错误:在打开时意外发现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!)
}
}
答案 0 :(得分:0)
来自apple docs:
重要
请勿使用此同步方法来请求基于网络的网址。对于基于网络的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)
}