尝试使用Swift从URL中提取图像时崩溃

时间:2015-03-09 21:36:35

标签: ios swift

我正在从api成功保存图片网址,并且在运行应用时遇到问题。 avatarString有正确的URL,但是当我到达下一行时,我一直得到:

  

致命错误:在解包可选值时意外发现nil

我的avatarData var返回为nil。我不知道为什么。运行Xcode Beta 6.3。谢谢你的帮助。

    dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {

        var avatarString = NSURL(string: self.userInfo.avatarURL)!


        var avatarData = NSData(contentsOfURL: avatarString, options: nil, error: nil)

        var avatarImage = UIImage(data: avatarData!)

        self.avatarImage.image = avatarImage

    })

1 个答案:

答案 0 :(得分:2)

enter image description here始终在主队列中执行与UI相关的工作(设置ImageView图像等) 并且重要的工作就像下载数据一样,从主队列开始,尝试这样:

 if let avatarString = NSURL(string: self.userInfo.avatarURL) {
            dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_USER_INITIATED.value), 0)){

                let imageData = NSData(contentsOfURL: avatarString)
                dispatch_async(dispatch_get_main_queue()) {
                    if imageData != nil {
                        self.avatarImage?.image = UIImage(data: imageData!)

                    }
                }
            }
        }

可能有帮助。