请解释下面提到的方法之间的区别。
- (void)save:
- (void)saveOnlySelfAndWait;
- (void)saveToPersistentStoreAndWait;
注意:有人已经发布了这个问题的答案,但我对这个答案不满意,所以任何人都可以分享正确而简单的答案。
答案 0 :(得分:0)
经过思考和搜索,我得到了答案......
我承认这些方法并未得到很好的记录。但是,它们很好地遵循了Core Data嵌套上下文模型。
使用MagicalRecord不要在save:
上使用NSManagedObjectContext
。 MagicalRecord内置了所有额外的错误处理,日志记录和完成处理程序。你想要使用它们。
您似乎知道数据需要去哪里(从一个上下文到根)。这取决于您需要使用哪种保存方法的层次结构。如果您只有一个级别(即在defaultContext的子上下文中),saveOnlySelfAndWait
将保存到defaultContext
。否则,saveToPersistentStoreAndWait
将遍历层次结构,一直到数据存储。
andWait
方法阻止了来电。完成处理程序的调用不是。这些在使用中相当直接。