Передача изображения CKAsset через переход к ViewController?

У меня есть простой 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 работает нормально и получает данные / изображение из базы данных, просто не могу передать их через сеанс.

Любая помощь или указание в правильном направлении будет принята с благодарностью.

Спасибо

1 ответ

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

Для всех, кто может попробовать то же самое...

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

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

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

Другие вопросы по тегам