ios – Swift – NSURL错误

前端之家收集整理的这篇文章主要介绍了ios – Swift – NSURL错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试使用下面的NSURL类时出错,下面的代码实际上是试图将我从Facebook拉入的图像存储到imageView中.错误如下:
value of optional type 'NSURL?' not unwrapped,did you mean to use '!' or '?'

不知道为什么会这样,帮忙!

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var myImage: UIImageView!

    override func viewDidLoad() {

        super.viewDidLoad()

        let myProfilePictureURL = NSURL(string: "http://graph.facebook.com/bobdylan/picture")
        let imageData = NSData(contentsOfURL: myProfilePictureURL)
        self.myImage.image = UIImage(data: imageData)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

解决方法

你正在调用的NSURL构造函数有这个签名:
convenience init?(string URLString: String)

?表示构造函数可能不返回值,因此它被视为可选.

NSData构造函数也是如此:

init?(contentsOfURL url: NSURL)

快速解决方法是:

let myProfilePictureURL = NSURL(string: "http://graph.facebook.com/bobdylan/picture")
let imageData = NSData(contentsOfURL: myProfilePictureURL!)
self.myImage.image = UIImage(data: imageData!)

最好的解决方案是检查(解包)这些选项,即使您确定它们包含值!

你可以在这里找到更多关于期权的信息:link to official Apple documentation.

原文链接:https://www.f2er.com/iOS/328421.html

猜你在找的iOS相关文章