我正在尝试调用图像但出现错误“无法分配‘UIImage 类型的值?’”在“vc.sentData2 = image”行中键入“字符串!”。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "DetailView"){
let vc = segue.destinationViewController as! DetailViewController
if let indexPath = self.tableView.indexPathForSelectedRow{
let Title = names[indexPath.row] as String
vc.sentData1 = Title
let url = NSURL(string: images[indexPath.row])
let data = NSData(contentsOfURL: url!)
let image = UIImage(data: data!)
vc.sentData2 = image
}
}
}
非常感谢您的帮助。
最佳答案
很明显,在 DetailViewController
的定义中,您已将 sentData2
声明为 String!
而且,在这种情况下,您正在尝试将 UIImage?
(UIImage(data:)
的结果始终是 UIImage?
,因为可能没有有效图像)分配给字符串!
。
所以,改变
var sentData2: String!
在 DetailViewController 中
var sentData2: UIImage?
关于swift - 无法将类型 'UIImage?' 的值分配给类型 'String!',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36242889/