我试验了这里描述的相同问题.问题是使用DEFAULT上下文的子MOC来保存coredata,90%的时候,主线程上下文中的结果会更新来自子MOC的更改,但有时它们不是.
在我的测试中,我反复写入相同的实体(不是太快,使用UI):广告实体(favorite_count)和广告与用户之间的最爱关系.
从DEFAULT Context的子MOC保存时,这是MagicalRecord的预期输出(我也打印了updatedObjects计数):
[__52-[ZCServer postFavoriteAd:withDelegate:andSelector:]_block_invoke_2]? ? ? ? ? ? ? ? ? ? ? ? ? ? POST FAVORITE ? ? ? ? ? ? ? ? ? ? ? ? ? ?
2013-09-19 11:40:35.154 -[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0xb8b55e0) ? Saving <NSManagedObjectContext (0xb8b55e0): *** UNNAMED ***> on *** BACKGROUND THREAD ***
2013-09-19 11:40:35.155 -[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0xb8b55e0) ? Save Parents? 1
2013-09-19 11:40:35.155 -[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0xb8b55e0) ? Save Synchronously? 1
2013-09-19 11:40:35.155 -[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0xb8b55e0) ? Updated objects = 4
2013-09-19 11:40:35.183 …Run Code Online (Sandbox Code Playgroud) core-data nsmanagedobjectcontext ios magicalrecord magicalrecord-2.1