2016-03-08 4 views
0

У меня есть простой TableView с текстом и вытаскиванием изображения из CloudKit. Я пытаюсь передать эти данные в detailViewController, когда выбрано, я могу получить текст, но я застреваю при отправке изображения, хотя prepareForSegue.Передача изображения CKAsset через segue в 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.

Любая помощь или указание в правильном направлении были бы оценены.

Thanks

ответ

0

После некоторой работы мне удалось это понять.

Для любого другого, что могло бы быть, пытающегося то же самое ...

В основном я пытался создать UIImage внутри функции prepareForSegue и в то время как это может быть возможно, я не мог заставить его работать.

Мое решение состояло в том, чтобы просто пройти CKAsset через segue, а затем в DetailViewController. Я смог использовать CKAsset для создания UIImage, передав файлURL из CKAsset.

Я все еще учась, так что я сделал это, может быть, совершенно неправильно.