iOS中MagicalRecord的动作方法有啥区别
Posted
技术标签:
【中文标题】iOS中MagicalRecord的动作方法有啥区别【英文标题】:What is the Difference between Action Methods of MagicalRecord in iOSiOS中MagicalRecord的动作方法有什么区别 【发布时间】:2015-06-12 10:54:36 【问题描述】:请解释下面提到的方法之间的区别。
- (void)save:
- (void)saveOnlySelfAndWait;
- (void)saveToPersistentStoreAndWait;
注意:有人已经发布了这个问题的答案,但我对这个答案不满意,所以任何人都可以分享正确和简单的答案。
【问题讨论】:
与论坛网站不同,我们不使用“谢谢”、“任何帮助表示赞赏”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?。顺便说一句,这是“提前致谢”,而不是“在先致谢”。 @JohnSaunders 感谢您的建议,它将对我有所帮助。 @JohnSaunders 如果您知道上述方法之间的神奇记录差异,请清除我。 如果我知道答案,我会回答的。 【参考方案1】:经过深思熟虑,我得到了答案......
我承认这些方法没有很好地记录。但是,它们很好地遵循了 Core Data 嵌套上下文模型。
有了 MagicalRecord,不要在NSManagedObjectContext
上使用save:
。 MagicalRecord 内置了所有这些额外的错误处理、日志记录和完成处理程序。您想使用它们。
您似乎知道数据需要去哪里(从一个上下文到根)。这取决于您需要使用哪种保存方法的层次结构。如果您只有一层深度(即在 defaultContext 的子上下文中),saveOnlySelfAndWait
将保存到defaultContext
。否则,saveToPersistentStoreAndWait
将为您遍历层次结构,一直到数据存储。
andWait
方法是阻塞调用。处理程序完成的调用不是。它们的使用相当简单。
【讨论】:
换句话说:MR_saveOnlySelfAndWait 会在对象空间中同步保存 NSManagedObject,MR_saveToPersistentStoreAndWait 会在persist中同步对象您的数据存储。 此外 MR_save: 方法已弃用,将在下一版本中删除。 @CanATAC 感谢您的回复。好答案。 我希望我能有所收获;)没关系,很高兴能帮上忙!以上是关于iOS中MagicalRecord的动作方法有啥区别的主要内容,如果未能解决你的问题,请参考以下文章
关于 MagicalRecord,MR_saveNestedContexts 和 MR_save 方法有啥区别
MagicalRecord 中的 MR_saveToPersistentStoreWithCompletion 方法和 MR_saveToPersistentStoreAndWait 方法有啥区别