2013-06-01 68 views
0

我是StackMob的新手,所以請原諒我這個基本問題。 該教程缺乏。何時應該保存上下文?

當我創建一個新對象並立即保存NSManagedObjectContext時,該對象被成功保存。

但通常當我使用核心數據時,我只在applicationDidEnterBackground & applicationWillTerminate中保存上下文。

當我把我的保存代碼放在那裏,它只是不保存!

我嘗試下面的代碼:

NSManagedObjectContext *context = [self.coreDataStore contextForCurrentThread]; 

     [context saveOnSuccess:^{ 

      NSLog(@"Success!"); 

     } 

     onFailure:^(NSError *error) { 

      NSLog(@"Error: %@",error); 

}]; 

它運作良好時,我立即保存,但是當這個代碼和平是上面提到的方法,它不打印!

不是「成功」而不是「錯誤」,當然在網絡上我沒有看到新的對象。

那麼,我應該何時保存在我的應用程序中所做的更改?顯然,如果有任何改變,我無法挽救他們。

謝謝。

+0

你有隻有在這些應用程序委託方法保存數據的必要性?如果在用戶添加/更新/刪除某些內容後,某些隨機原因導致應用程序崩潰,該怎麼辦? – swiftcode

回答

0

解決方案: 在使用saveOnSuccess代替:onFailure處:,使用saveAndWait:

相關問題