每次应用加载时,MagicalRecord 都会删除所有创建的对象
Posted
技术标签:
【中文标题】每次应用加载时,MagicalRecord 都会删除所有创建的对象【英文标题】:MagicalRecord is deleting all the created objects each time app loads 【发布时间】:2013-07-04 21:16:25 【问题描述】:我不太确定发生了什么,但每次我的应用程序在 ios 模拟器中加载时,使用 MagicalRecord 保存在我的应用程序中的数据都会被删除并重新创建。也许这意味着数据没有被持久化?
我不知道发生了什么。在我的应用委托中,我有:
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"HFDatabase.sqlite"];
在我的 didFinishLaunching... 方法以及 applicationWillTerminate 方法中的 [MagicalRecord cleanUp];
中。该日志还输出以下内容:
Context DEFAULT is about to save. Obtaining permanent IDs for new 20 inserted objects
我认为这意味着正在保存数据。然而,它每次都重新创建数据。有什么想法吗?
更新
每次我重建应用程序时,它似乎只是删除了数据库。这应该发生吗?有什么办法可以阻止这种情况发生?
【问题讨论】:
这不应该发生。 - 您是否有任何代码可以创建一些初始数据库(或从应用程序包中复制它)?也许该代码会覆盖现有数据库。 我只有一个数据模型文件。 @MartinR 看起来好像我需要调用saveNestedContexts
但是该方法已被弃用。不确定现在的最佳做法是什么。
【参考方案1】:
从您的 cmets 看来,您缺少保存方法。更改后执行[localContext MR_saveToPersistentStoreAndWait];
。
【讨论】:
以上是关于每次应用加载时,MagicalRecord 都会删除所有创建的对象的主要内容,如果未能解决你的问题,请参考以下文章
MagicalRecord 重新启动应用程序时删除核心数据存储
每次访问页面时都会触发地理位置代码,而不仅仅是在初始加载或刷新时
使用 MagicalRecord 截断所有应用程序关闭后不保存