技術:7.0的XCode,斯威夫特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'在detailController.masterViewController = self行上沒有成員'masterViewController'」。此外,這應該放在我的detailViewController中;我如何將它集成到我的代碼上面?再次感謝。 –
對不起,劇組顯然應該是'DetailViewController'。修正了這個例子。這個方法應該被添加到MasterViewController中,並且會在segue顯示你的'DetailViewController'之前被調用。 –
@John Kluivers現在我從更新後的代碼中得到這個錯誤「無法將類型'DetailViewController'的值賦值爲類型'MasterViewController?'的值'」嗯... –