我无法理解 和 之间的[[NSManagedObjectContext defaultContext] save]
区别[[NSManagedObjectContext defaultContext] saveInBackground]
。
当我使用该save
功能时,它工作得很好,但从saveInBackground
不持久化数据。简而言之,这就是区别:
// Save in background.. DOES NOT WORK
[[NSManagedObjectContext defaultContext] saveInBackgroundErrorHandler:^(NSError *error){
NSLog(@"FAILED TO SAVE!! Task: %@", task);
}completion:^(void){
NSLog(@"PERSISTED NEW TASK: %@", task);
}];
// Save in main thread.. WORKS
[[NSManagedObjectContext defaultContext] save];
每次saveInBackground
运行时,我都会看到“PERSISTED NEW TASK”日志条目。但是,当我重新启动应用程序时,数据不存在。当我使用时save
,我重新启动应用程序并且数据在那里。我错过了什么?