通过segue传递一个CKAsset图像给ViewController?
问题描述:
我有一个简单的TableView,带有文本和从CloudKit中抽取的图像。我试图在选择时将这些数据传递给detailViewController,我可以获取文本,但是我坚持发送图像,尽管prepareForSegue。通过segue传递一个CKAsset图像给ViewController?
我有一个TableViewController和DetailViewController。
TableViewController具有来自CK的图像和文本的单元格。
DetailViewController有UIImageView和标签被填充。
这里是代码..
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetailView" {
if let indexPath = tableView.indexPathForSelectedRow {
let destinationController = segue.destinationViewController as! DetailViewController
let result = results[indexPath.row]
let image = result.objectForKey("Image1") as! CKAssset
destinationController.imageViewMain.image = UIImage(data: NSData(contentsOfURL: image.fileURL)!)
}
}
}
这不只是不工作,我真的开始与 EXC_BAD_INSTRUCTION崩溃时,我选择一个表行。该tableView工作正常,并从数据库中获取数据/图像,似乎无法让它通过segue传递。
任何帮助或指向正确的方向将不胜感激。
谢谢
答
经过一番工作,我设法弄清楚了这一点。
对于任何其他人可能是想同样的事情...
基本上我试图创建prepareForSegue函数内部的UIImage的和而有可能,我无法得到它的工作。
我的解决方案是只传递CKAsset通过segue,然后在DetailViewController中,我能够使用CKAsset通过从CKAsset传递fileURL来创建UIImage。
我还在学习,所以我这样做的方式可能完全错误。