2016-03-08 32 views
0

我有一个简单的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传递。

任何帮助或指向正确的方向将不胜感激。

谢谢

回答

0

经过一番工作,我设法弄清楚了这一点。

对于任何其他人可能是想同样的事情...

基本上我试图创建prepareForSegue函数内部的UIImage的和而有可能,我无法得到它的工作。

我的解决方案是只传递CKAsset通过segue,然后在DetailViewController中,我能够使用CKAsset通过从CKAsset传递fileURL来创建UIImage。

我还在学习,所以我这样做的方式可能完全错误。

相关问题