【问题标题】:Why does MR_save not work but MR_saveNestedContexts does?为什么 MR_save 不起作用但 MR_saveNestedContexts 起作用?
【发布时间】:2012-11-15 10:37:59
【问题描述】:

我正在使用 MagicalRecord 来保存一个名为“Me”的托管对象。这是我正在尝试的两种方法(第一种方法不保存数据,但第二种方法可以):

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 不起作用?

【问题讨论】:

  • 那么每次存储新实体时调用 MR_save 和 MR_saveNestedContexts 是否重要?
  • 从 2.0.8 版开始,如果您想确保将嵌套上下文持久保存到商店,请使用 MR_saveNestedContexts。如果您想保存 ONLY ONE 父母,请使用MR_saveIF 父级恰好是根/默认上下文,MR_saveNestedContextsMR_save 做同样的事情,就是坚持存储。
  • 如果您将您的 cmets 添加到答案中,我会给您绿色检查。

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


【解决方案1】:

来自cmets:

请参阅"Regarding MagicalRecord, what is the difference between the methods MR_saveNestedContexts and MR_save"。这两种方法之间有很好的描述。

从 2.0.8 版开始,如果您想确保将嵌套上下文持久保存到存储中,请使用 MR_saveNestedContexts。如果您想保存 ONLY ONE 父母,请使用MR_saveIF parent 恰好是根/默认上下文,MR_saveNestedContextsMR_save 做同样的事情,就是坚持存储。

【讨论】:

    猜你喜欢
    • 2014-01-26
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多