【发布时间】:2012-02-15 17:19:25
【问题描述】:
我的应用维护了两个 NSManagedObjectContexts。一个在主线程上运行,另一个处理网络事件并在后台线程上运行。
每当收到网络事件时:
- 主 MOC 进行保存
- 后台线程合并更改
- 处理网络事件并将更改应用到后台 MOC
- 后台 MOC 保存。
- 主 MOC 合并更改。
在我尝试删除主线程中的 NSManagedObject 之前,这可以正常工作:
一个。在第 2 步之后,prepareForDeletion 在后台线程上再次被调用
b.在第 5 步之后在主线程上调用 prepareForDeletion
更糟糕的是每次 MOC 保存/合并可憎和 b。抬起他们丑陋的脑袋。
据我所知,NSManagedObject 正在被复活然后被删除,一遍又一遍。
在这个问题上,我正在撕扯我的头发。上周我一直在努力让多个 MOC 运行。我不知道这么简单的事情会引起这么多的悲伤。
【问题讨论】:
标签: iphone objective-c ios multithreading core-data