2016-06-04 3 views
0

Таким образом, переписывая переменную «деталь» из предыдущего контроллера таблицы и добавляя принимающую переменную к моему новому контроллеру представления.Невозможно установить переменную CKRecord - подготовить к segue

if let destViewController = segue.destinationViewController as? Detail { 
     let indexPath = self.tableView.indexPathForSelectedRow! 
     destViewController.detail = restaurants[indexPath.row] 

Переменная «деталь» содержит экземпляр CKRecord из предыдущей таблицы. Однако, когда я пытаюсь создать переменную с тем же именем в контроллере представления, я не могу установить себя без ошибок. Например, я попробовал

var detail: CKRecord! 

Однако, я получаю сообщение об ошибке «использование незаявленного CKRecord». Как я могу исправить эту ошибку?

ответ

0

Не забудьте импортировать CloudKit в свой Detail контроллер так, что Xcode знает, что CKRecord является:

import UIKit 
import CloudKit 

class Detail: UIViewController { 

    // MARK: - Model 

    var model: CKRecord 

    // MARK: - Other stuff 

    ... 

} 
+0

Это, вероятно, сделать это! Однако почему мне все еще нужно импортировать облачный набор, если я выведу экземпляр из представления таблицы с помощью набора облаков в переменную в контроллере обработки событий? Это просто работает? –

+0

Поскольку оператор 'import' в Swift только импортирует символы внешнего модуля в файл с помощью оператора' import'. Это означает, что вам придется добавить «import CloudKit» в любой файл Swift, где вы хотите использовать CloudKit. – Kumuluzz

Смежные вопросы