Передача изображения 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.
Я все еще учусь, поэтому то, как я это сделал, может быть совершенно неправильно.