當更新managedObjectContext時,是否可以在視圖控制器中執行保存設置,這可能會被釋放,或者appDelegate是否應處理managedObjectContext的保存,以便即使viewController被釋放,保存結束?核心數據並在subViewControllers中保存上下文,可以發佈嗎?
我傾向於移動存儲踏進我的appDelegate並具有viewControllers調用的想法[的appDelegate saveContext]當進行更新時,雖然也許這是毫無意義的,因爲viewController不會完成釋放,直到它完成保存到CD任何方式......?
例如,是否有這兩個動作之間的任何差別,從subViewController完成:
[appDelegate.managedObjectContext save:&error]
和
[appDlegate saveContext]
凡在的appDelegate運行[managedObjectContext保存方法:&錯誤]
謝謝, Sam
啊,是的,我忘了。我正在運行多線程應用程序,並根據線程應用程序的文檔中的建議更新coreData(在spun-thread中進行復制和更新並在主線程上執行合併)。感謝您在單線程環境中的確認。 – Shizam 2010-03-15 21:51:08
正如我所提到的,即使您在多線程應用程序中,您的保存也不會跨越線程邊界,因此它將阻止它所在的線程,因此您仍然可以安全地調用'-save: '只要你在調用'-save:'之後釋放該對象' – 2010-03-15 23:48:39