我遇到的问题是我的核心数据有时不会持续 。这是我正在运行的场景。我没有登录,登录时运行应用程序,应用程序存储了一些数据。然后,我再次运行应用程序,这次是登录用户,并提取该数据。在我尝试运行应用程序之前,这一切都运行良好,就好像它是第一次下载一样。为此,我从手机中删除了应用程序并运行了上述步骤。但是现在没有从核心数据中提取数据。以下是我为纠正这些情况所做的一些有趣的笔记和事情。
1)我完全知道,如果应用不正好像刚刚下载一样,数据仍会存在。
2)数据在运行时偶尔会持续存在,就像刚下载一样,但在少数时间内。
3)当我运行应用程序就好像刚刚下载并将数据存储到核心数据中一样,我会立即检查数据是否存储在中并且。然而,当我再次运行它时,数据就消失了。
我现在没有发布代码,因为它非常庞大,并且为了发布而需要花费大量时间来缩短代码。但是,如果您认为根据我所说的内容会有所帮助,我会发布它。
答案 0 :(得分:1)
您声明使用[document saveToURL:forSaveOperation]
保存。
为了保留Core Data,您必须保存上下文。
[managedObjectContext save:nil];
确保在期望保留数据之前使用有效的上下文调用此方法。我怀疑你在某些地方有这个,但不是在所有要求的地方。找到答案的一种方法是在每个 save语句上放置一个断点,并检查是否按预期调用了保存。