簡體   English   中英

通過segue將CKAsset圖像傳遞給ViewController?

[英]Passing a CKAsset image through a segue to ViewController?

我有一個簡單的TableView,其中包含文本和從CloudKit中提取的圖像。 我正在嘗試將數據選擇時傳遞給detailViewController,我可以獲取文本,但是我一直想通過prepareForSegue發送圖像。

我有一個TableViewController和DetailViewController。

TableViewController具有包含來自CK的圖像和文本的單元格。

DetailViewController具有要填充的UIImageView和Labels。

這是代碼。

    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。

我還在學習,所以我做的方式可能完全錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM