MagicalRecord - saveinBackground 不持久化数据?

Posted

技术标签:

【中文标题】MagicalRecord - saveinBackground 不持久化数据?【英文标题】:MagicalRecord -- saveinBackground not persisting data? 【发布时间】:2012-09-13 15:53:16 【问题描述】:

我无法理解 [[NSManagedObjectContext defaultContext] save][[NSManagedObjectContext defaultContext] saveInBackground] 之间的区别。

当我使用save 功能时,它工作得很好,但saveInBackground 从不保留数据。简而言之,这就是区别:

// Save in background.. DOES NOT WORK
    [[NSManagedObjectContext defaultContext] saveInBackgroundErrorHandler:^(NSError *error)
        NSLog(@"FAILED TO SAVE!! Task: %@", task);
    completion:^(void)
        NSLog(@"PERSISTED NEW TASK: %@", task);
    ];

    // Save in main thread.. WORKS
    [[NSManagedObjectContext defaultContext] save];

每次saveInBackground 运行时,我都会看到“PERSISTED NEW TASK”日志条目。但是,当我重新启动应用程序时,数据不存在。当我使用save 时,我重新启动应用程序并且数据就在那里。我错过了什么?

【问题讨论】:

【参考方案1】:

必须打电话给[context saveNestedContexts]

【讨论】:

以上是关于MagicalRecord - saveinBackground 不持久化数据?的主要内容,如果未能解决你的问题,请参考以下文章

MagicalRecord:后台保存

未找到 MagicalRecord/MagicalRecordDeprecationMacros.h 文件

WatchKit 和 MagicalRecord - 这可能吗?

MagicalRecord 3.0 设置

MagicalRecord 日期解析

Simperium和MagicalRecord