根据URL更改UIImageView

时间:2014-11-21 04:14:45

标签: ios swift uiimageview

我正在尝试从URL更改Swift中的UIImageView。我尝试使用的代码似乎表明方法dataWithContentsOfURL已被弃用或由于某种原因,Swift编译器不喜欢我正在尝试做的事情。

这是我的代码。

let url2 = NSURL(string: currentAnimation)
    var err: NSError?
    var imageData :NSData = NSData.dataWithContentsOfURL(url2!, options: NSDataReadingOptions.DataReadingMappedIfSafe, error: err!)
    var currentImage = UIImage (data: imageData)
    self.weatherImage.image = currentImage

当我尝试这样做时,我得到一个编译消息,编译器无法使用这些类型的参数列表调用该方法。

对不起,我对这一切都还是新手,所以如果有人能提供帮助那就太棒了,谢谢!

2 个答案:

答案 0 :(得分:0)

更改url2!将url2作为第一个参数。

答案 1 :(得分:0)

您使用的是旧版Xcode吗?大多数Objective-C工厂方法已经在Swift中转换为初始化器。适用于我的版本如下:请注意NSURLNSDataUIImage初始化程序都返回选项,因此您需要检查或解包它们才能运行所有这些:< / p>

if let url2 = NSURL(string: currentAnimation) {
    var err: NSError?
    if let imageData = NSData(contentsOfUrl: url2!, 
                                    options: .DataReadingMappedIfSafe,
                                      error: &err) {
        var currentImage = UIImage(data: imageData)
        self.weatherImage.image = currentImage
    }
}

error初始化程序的NSData参数是NSErrorPointer,它是AutoreleasingUnsafeMutablePointer<NSError?>的类型。这将接受nil或作为输入/输出参数传递的可选NSError?(即标有&)。