【发布时间】:2017-05-29 04:13:31
【问题描述】:
我正在我的初始屏幕上为一个 NSManaged 对象创建一个 NSFetchRequest。我有时会在以下情况下发生崩溃:
- 在我的标签栏控制器中切换到另一个视图控制器
- 使用相同的托管对象类型发出另一个提取请求
- 删除一个常见的托管对象,它也出现在我最初的 VC 的 fetchrequest 中。 VC 包含一个表格视图。
- 保存托管上下文
- 切换到第一个 VC,然后重新加载数据
我没有使用 NSFetchResutltsController 来管理这些返回的对象。当我的 tableview 重新加载时发生崩溃。我确实提出了另一个请求,并希望不会返回已删除的对象,但确实如此。当我的单元格试图读取已删除对象的属性时,它会读取uninitialized 并崩溃。在 2 个 VC 之间切换时,这种情况大约有 5 次发生。我在所有 CoreData 函数中都使用了performAndWait。
有没有办法解耦两个屏幕之间托管对象的关系?如果没有,我怎样才能在第一个 VC 中获取我的 fetch 请求,而不是返回在第二个 VC 中删除的对象,使它们保持同步?
【问题讨论】:
-
什么是崩溃信息,它在哪一行代码崩溃?
-
你能在这里添加崩溃日志吗...
标签: ios uitableview core-data nsfetchrequest