我已經創建與下列爲什麼從ModalView返回後UITableView失去了ManagedObjectContext?
- 一個TableViewController基於窗口的應用程序(如果沒有XIB文件)
- 一個視圖控制器(採用XIB文件)< - 被用作模態的視圖
- 一個CoreData模型來存儲一些數據
我設法從實體的數據加載應用程序並填充的TableView,我能夠通過所有的TableView中的細胞的滾動,沒有任何問題。
我添加了一個UIBarButton項(rightBarButton),它使用戶輸入一些數據時會出現一個模態視圖。模型視圖有一個SAVE和CANCEL按鈕。
問題是一旦我按下取消按鈕,我回到TableView,但如果我嘗試滾動throgh tableview中的項目,應用程序崩潰。
經過4個小時搜索Google和StackOverflow後,我無法明白爲什麼我的應用程序崩潰。然而,我沒有注意到調試器將ManagedObjectContext設置爲NIL,這是我第二次滾動tableview(在modalview關閉後),儘管沒有更改數據並且沒有插入/刪除。
我試着用一個定時器來調用reloadData,因爲我在StackOverflow上發現了一些答案,但那沒有奏效。我嘗試將ManagedObjectContext設置爲一個帶有retain的屬性,並刪除了[myManagedObjectContext發佈]的所有事件,以避免在需要時提前發佈它,但這沒有幫助。
看來我正在做一個明顯的錯誤,但我不知道在哪裏。
請幫忙。
你是否實現了'viewDidUnload'和/或'didRecieveMemoryWarning',如果是的話,你是否設置了'self.managedObjectContext = nil;'在它們中的任何一點? –
我實現了didUnload,但我沒有設置managedobjectcontext =零,這會導致另一個問題 – Ahmad
@ Paul.s你是對的,我沒有故意設置管理對象上下文爲零,這是我明顯的錯誤。如果你可以發佈答案,我會接受它。謝謝。 – Ahmad