【发布时间】:2013-07-05 17:55:40
【问题描述】:
我有一个 NSFetchedResultsController 绑定到我的主要托管对象上下文。它负责在我的主视图中保存表格视图的数据。
我有一个在后台线程上运行的 NSOperation,它刷新/删除获取的结果控制器正在跟踪的托管对象。我在 nsoperation 中创建了一个子上下文(私有并发类型 / 父级 = 主托管对象上下文)并插入/删除对象。完成后,它会保存其上下文以及父上下文。
有趣且令人沮丧的是,这在 iOS 6 中运行良好。当我插入或删除对象时,我获取的结果控制器会收到更改通知,并且一切都按预期工作。但是,在 iOS 5 上,除了删除之外,一切正常。获取的结果控制器不会收到删除通知。但是...如果我手动刷新获取的结果控制器(使其为零并重新获取相同的谓词),那么它将显示预期的结果。
此外,当我在主上下文中注册更改/保存通知时,我可以看到用户信息字典包含我已删除的对象...即使在 iOS 5 中也是如此!
我认为可能存在的一个问题,但我认为不成立,因为我已经删除了这些因素,即该对象与另一个对象存在多对一关系。我要删除/插入的对象是“员工”,它与“部门”有关系。员工设置为无效,部门设置为级联。
正如我所说,这在 iOS6 中可以正常工作,但在 iOS5 中则不行。
任何提示都会非常有帮助。
【问题讨论】:
标签: ios ios5 core-data nsfetchedresultscontroller