我什么时候必须给魔法记录上下文?

时间:2014-02-04 16:35:20

标签: ios objective-c core-data frameworks magicalrecord

我是伟大框架Magical Record的新手。

我何时必须为MR方法提供上下文?

示例:

// with context
NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];
CheckinTypes *checkinType = [CheckinTypes MR_createInContext:localContext];

// without context
CheckinTypes *checkinType1 = [CheckinTypes MR_createEntity];

这两种可能性之间的区别是什么?

1 个答案:

答案 0 :(得分:1)

基本的经验法则是:

  • 当您在后台线程上时,创建一个新的上下文并在该上下文中执行您的工作。

然而,真正的答案比这更复杂。一般而言,使用核心数据需要管理特定场景的上下文。一种常见的方案是设置屏幕,其中设置保存在Core Data中。通过使用新的上下文,并在该上下文中进行更改,您可以简单地抛出上下文(即不保存)以删除用户未提交的任何临时更改。

  

另请注意,不推荐使用MR_contextForCurrentThread   并将在即将发布的MagicalRecord版本中删除。运用   这种方法会导致偶尔的,难以追踪的崩溃。