2012-11-15 30 views
0

我使用MagicalRecord来坚持一个名为“我”的管理对象。下面是两种方法我想要(第一方法不会保留的数据,但第二个一样):为什么MR_save不起作用,但是MR_saveNestedContexts呢?

NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread]; 
[Me MR_createInContext:localContext]; 
[localContext MR_save]; 

上述方法不会保留数据,但下面的一个作用:

NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread]; 
[Me MR_createInContext:localContext]; 
[localContext MR_saveNestedContexts]; 

为什么MR_save无法正常工作?

+1

请参阅[“关于MagicalRecord,方法MR_saveNestedContexts和MR_save之间有什么区别”](http://stackoverflow.com/questions/13300129/regarding-magicalrecord-what-is-the-difference-between-the - 方法-MR-saveneste/13344324#13344324)。这两种方法之间有很好的描述。 – Gobot

+0

每次新实体存储时,调用MR_save和MR_saveNestedContexts是非常重要的吗? – zakdances

+0

从版本2.0.8开始,如果您想确保将嵌套上下文保存到存储中,请使用'MR_saveNestedContexts'。如果你想保存**只有一个**父母,使用'MR_save'。 ** IF **父母恰好是root/default上下文,“MR_saveNestedContexts”和“MR_save”做同样的事情,这是坚持存储。 – Gobot

回答

相关问题