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