核心数据返回额外的nill值数组

时间:2015-12-30 10:25:26

标签: swift uitableview core-data crash

得到一个真正奇怪的错误。我有视图控制器B从CoreData获取对象数组。当我计算并打印结果时,它匹配我对核心数据对象数量的例外。

当我使用导航器后退按钮转到主视图控制器时,我设置了一些调试代码来获取所有核心数据对象,并且我得到的返回比我预期的多,并且所有对象都是nil或0。

然后,当我有时回到B并进行新的提取时,有时我会得到预期的结果,有时会获取这个额外的结果。

问题是我使用获取的核心数据来填充tableview,因此行数减去1,并且因为nil,我的单元格中的几个可选objets没有被解包,因为不期望nil因此得到崩溃。

在视图控制器B的开头尝试了context.reset()。

甚至不确定向代码展示每个人的内容。对我没有意义。我做了一个视图控制器B的调试演练,我没有将任何记录保存到核心数据。

就像我提到的那样,有时会在主视图控制器和视图控制器b之间来回翻转,有时会返回额外的结果,有时它会消失,最终会被捕获并返回nil并崩溃。

思想?

1 个答案:

答案 0 :(得分:0)

对于本期ha中的人,请在保存之前通过断点查看您的managedobject上下文。我的问题是在获取核心数据记录进行修改后,我通过调用托管对象创建了一个插入实例:insertinto。因此,当我去保存时,我检查了断点,上下文正在更新记录并插入一个记录。因此,通过删除插入,我刚刚更新了获取的结果。