технологии: Xcode 7.0, Swift 2Доступ к функциям в другом контроллере и инициализация моего masterViewController?
В течение моего detailViewController
файла, у меня есть (между прочим):
var masterViewController: MasterViewController? = nil
@IBAction func saveItem(sender: anyObject) {
if let newItem = something,
let tagItem = newItem
self.masterViewController!.model.saveQuery(newItem, forTag: tagItem, syncToCloud: true)
let indexPath =
NSIndexPath(forRow: 0, inSection: 0)
self.masterViewController!.tableView.insertRowsAtIndexPaths([indexPath],
withRowAnimation: .Automatic)
self.masterViewController?.forceSearch(indexPath)
self.masterViewController?.tableView.reloadData()
}
}
Таким образом, я получаю плохую ошибку выполнения на self.masterViewController...saveQuery
линии, и я думаю, это связано с тем, что мой MasterViewController
установлен в nil
. Но я не уверен, как я должен инициировать свою переменную MasterViewController
или что я должен ее установить (если это имеет смысл).
Как я должен инициировать его правильно?
Это дает мне ошибку. «MasterViewController» не имеет элемента «masterViewController» участника на странице detailController.masterViewController = self. Кроме того, где это должно быть помещено в мой detailViewController; как его интегрировать в мой код выше? Еще раз спасибо. –
Извините, актеры должны были, очевидно, быть в 'DetailViewController'. Исправлено это в примере. Этот метод должен быть добавлен в MasterViewController и вызывается до того, как segue отобразит ваш 'DetailViewController'. –
@John Kluivers теперь я получаю эту ошибку из обновленного кода «Не могу присвоить значение типа« DetailViewController »значению типа« MasterViewController? »« Hmm ... –