为什么核心数据不会持久存储到磁盘?

时间:2015-01-05 12:00:03

标签: ios core-data magicalrecord

我有一个使用核心数据的应用程序,并在数据更改时成功写入磁盘。对于大多数用户来说,这绝对没问题。

然而,有一个人发现他们可以使用该应用程序几个小时,只有当他们关闭应用程序并再次打开它时,他们才发现没有保存任何内容。

没有错误,没有崩溃。该应用程序继续完全可用。它只是没有将任何东西保存到磁盘上。

当他们继续使用应用程序时,同样的事情发生了,它不会将任何东西保存到磁盘上。当这个人只是重新启动他们的手机时,这个问题实际上已经解决了(没有代码更改)。

我想知道这是否可能是磁盘空间问题?该应用程序的手机大约为170mb,它们有300MB的可用空间。

我愿意接受任何建议。就个人而言,我宁愿让应用程序崩溃,也不要让某人继续使用它几个小时而不会意识到没有任何东西可以保存到磁盘上。

我正在使用魔法记录来实现我的核心数据。

我正在使用MR_saveToPersistentStoreAndWait,而我现在已切换到MR_saveToPersistentStoreAndWaitWithError。但我甚至不知道要检查什么,因为我不知道是否会引发错误。

1 个答案:

答案 0 :(得分:3)

虽然我无法确定我是否在用户设备上重现了该问题。我能够重现我的应用程序将继续运行的情况 - 但不会将任何内容保留到磁盘上。

我是通过手动创建一个不符合实体模型验证规则的对象来完成的。

当尝试保存上下文时,它正在吐出错误,但应用程序继续运行,好像没有出现问题。