我正在尝试从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
当我尝试这样做时,我得到一个编译消息,编译器无法使用这些类型的参数列表调用该方法。
对不起,我对这一切都还是新手,所以如果有人能提供帮助那就太棒了,谢谢!
答案 0 :(得分:0)
更改url2!将url2作为第一个参数。
答案 1 :(得分:0)
您使用的是旧版Xcode吗?大多数Objective-C工厂方法已经在Swift中转换为初始化器。适用于我的版本如下:请注意NSURL
,NSData
和UIImage
初始化程序都返回选项,因此您需要检查或解包它们才能运行所有这些:< / 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?
(即标有&
)。