我正在尝试 MagicalRecord,但为啥只有在添加新属性后才会删除数据?

Posted

技术标签:

【中文标题】我正在尝试 MagicalRecord,但为啥只有在添加新属性后才会删除数据?【英文标题】:I'm trying out MagicalRecord but why does data being erased only after adding a new attribute?我正在尝试 MagicalRecord,但为什么只有在添加新属性后才会删除数据? 【发布时间】:2013-12-11 12:59:35 【问题描述】:

仅添加一个新属性后数据消失了,我的 AppDelegate init 方法中已经有了这个 [MagicalRecord setupAutoMigratingCoreDataStack];

知道为什么吗?

【问题讨论】:

【参考方案1】:

在你的AppDelegate.m:中添加这两个方法

- (void)applicationDidEnterBackground:(UIApplication *)application

    [[NSManagedObjectContext defaultContext] saveOnlySelfAndWait];


- (void)applicationWillTerminate:(UIApplication *)application

    [MagicalRecord cleanUp];

【讨论】:

@BaloniBoi 如果您在模拟器上,请确保您不要只是通过 Xcode 停止按钮突然停止应用程序。首先,进入您的主屏幕,然后您可以停止该应用程序。 我实际上是在设备上运行它。【参考方案2】:

看看这个How do I set up Core Data lightweight migration using MagicalRecord?

确保您对数据模型进行了正确的版本控制。

【讨论】:

以上是关于我正在尝试 MagicalRecord,但为啥只有在添加新属性后才会删除数据?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 MR_save 不起作用但 MR_saveNestedContexts 起作用?

为啥我的对象更新为 MagicalRecord 持久存储执行了两次?

MagicalRecord:删除整个数据并再次设置核心数据堆栈

获取 MagicalRecord NSManagedContext 以在后台线程中使用

使用 Magicalrecord 拥有单个实体的最佳方式

MagicalRecord saveWithBlock 问题