我是伟大的框架Magical Record的新手。
我何时必须为MR方法提供上下文?
例:
// with context
NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];
CheckinTypes *checkinType = [CheckinTypes MR_createInContext:localContext];
// without context
CheckinTypes *checkinType1 = [CheckinTypes MR_createEntity];
这两种可能性之间有什么区别?
最佳答案
基本的经验法则是:
当您使用后台线程时,请创建一个新的上下文并在该上下文上执行您的工作。
但是,真正的答案要复杂得多。通常,使用核心数据需要管理特定场景的上下文。一种常见情况是设置屏幕,其中设置保存在Core Data中。通过使用新的上下文,然后在该上下文中进行更改,您可以简单地将其扔到该上下文中(即不保存),以删除用户尚未承诺的任何临时更改。
另外,请注意,不推荐使用MR_contextForCurrentThread
并将在即将发布的MagicalRecord版本中删除。使用
这种方法将导致偶发的,难以跟踪的崩溃。