通过 segue 将 CKAsset 图像传递给 ViewController?
Posted
技术标签:
【中文标题】通过 segue 将 CKAsset 图像传递给 ViewController?【英文标题】:Passing a CKAsset image through a segue to ViewController? 【发布时间】:2016-03-08 05:16:53 【问题描述】:我有一个简单的 TableView,其中包含从 CloudKit 中提取的文本和图像。我试图在选择时将该数据传递给 detailViewController,我可以获得文本,但我一直坚持通过 prepareForSegue 发送图像。
我有一个 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。
任何帮助或指出正确的方向将不胜感激。
谢谢
【问题讨论】:
【参考方案1】:经过一番努力,我设法弄清楚了。
对于其他可能正在尝试相同事情的人...
基本上我试图在 prepareForSegue 函数中创建 UIImage,虽然这可能是可能的,但我无法让它工作。
我的解决方案是通过 segue 传递 CKAsset,然后在 DetailViewController 中,我能够通过传递来自 CKAsset 的 fileURL 来使用 CKAsset 创建 UIImage。
我还在学习,所以我的做法可能完全错误。
【讨论】:
以上是关于通过 segue 将 CKAsset 图像传递给 ViewController?的主要内容,如果未能解决你的问题,请参考以下文章
通过 Collection View Cell Swift 中的 segue 将图像传递给另一个视图控制器
UIImageView 将 (segue) nil 传递给另一个 ViewController
使用 segue 传递图像的指针类型不兼容?目标c Xcode