ios - 通过 segue 将 CKAsset 图像传递给 ViewController?

标签 ios swift segue cloudkit ckasset

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

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

谢谢

最佳答案

经过一些工作,我设法解决了这个问题。

对于可能尝试同样事情的其他人...

基本上,我试图在prepareForSegue函数中创建UIImage,虽然这可能是可能的,但我无法让它工作。

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

我仍在学习,所以我的做法可能完全错误。

关于ios - 通过 segue 将 CKAsset 图像传递给 ViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35859550/

相关文章:

ios - 调用另一个 View Controller 的 func 来控制 alpha 返回 nil 错误

android - 如何在 React Native 中为 IOS 和 Android 缓存图像?

ios - 每次都会调用表格单元格中的 segue

swift : Only transfers certain variable when using prepareforsegue function

ios - 无法在自定义单元格中使用 UISwitch 以移动到新 Controller

iphone - iPhone 中非系统字体的名称

ios - 从 UITableView - Swift 中删除行的正确方法是什么

长时间不活动后的 iOS 应用程序生命周期

ios - 如何获取我的 iOS 应用程序的根目录?

ios - 整个模块优化和多态性bug