好吧所以我已经制作了一些处理程序和类来从URL中获取数据,它一切正常,我检查了URL是否有效。
无论如何,我正在尝试在我的类中存储的URL上为UIViewController执行NSData(contentsOfURL)。我已成功打印出字符串变量,如名称,类型,描述,但我很难在ViewController上将UIImage显示到图像视图中。
这是我的代码,它在View加载时运行:
func configureView() {
// Update the user interface for the detail item.
if let card = detailCard {
title = card.cardTitle
//Assign Elements
detailDescriptionLabel?.text = card.description
typeLabel?.text = card.cardType
cardTitleLabel?.text = card.cardTitle
costLabel?.text = card.cardCost
print(card.cardImageURL)
if let url = NSURL(string: card.cardImageURL){
let data = NSData(contentsOfURL: url)
imageView.image = UIImage(data: data!)// <--- ERROR HERE: EXC_BAD_INSTRUCTION
}
//Print Log
//print(card.logDescription)
}
}
与上面的评论一样,我在imageView.image = UIImage(data: data!)
行上收到错误:
主题1:EXC_BAD_INSTRUCTION
以下是cardImageURL的代码:
var cardImageURL: String {
return String(format: "http://testyard.example.net/display/images/cards/main/%@", image)
}
//This is a computed variable when a "Card" class object is created.
它在字符串中返回正确的URL:
http://testyard.example.net/display/images/cards/main/armor-of-testing.jpg
我在其他地方使用过这段代码,它工作正常,为什么会在这里抛出错误?
提前致谢。
答案 0 :(得分:2)
您确定要下载的数据是图像吗?你应该使用这一行:
if let image = UIImage(data: data)`
这应该可以阻止错误,但您可能需要测试您的数据实际上是否包含图像。