这对我来说真的很奇怪。我有一个核心数据库。我有两个表,让我们称之为tableA和tableB。 tableA有很多数据,可能有数千条记录。 tableB有一些记录。 tableB与tableA有9个关系。这些关系中的每一个与tableB都是一对多。
在应用程序运行时,一切正常;但是,如果我终止应用程序(在xCode中停止),许多关系将变为空。它非常一致。 tableB中的最新记录始终正常,旧记录都缺少某些关系的数据。
tableB中的关系是一对多的。最初我从tableA创建了反一对多的关系。注意到这个问题后,我删除了反向关系。该应用程序仍然正常运行,直到我终止并重新启动它,虽然我确实收到了没有反转的警告。
我确保对上下文进行了保存,并检查了context.hasChanges并且它是错误的。
任何帮助将不胜感激。这是我今天的拔毛器。
答案 0 :(得分:0)
当你从调试器中硬杀这样的应用程序时,你不可能指望它经历正常的终止处理。
使用UIManagedDocument或任何类型的异步保存操作时,这一点更为明显。
当您通过正常的应用终止方法在设备上终止应用时会发生什么?