我正在展示使用NSFetchedResultsController谓词的表视图内容:
[NSPredicate predicateWithFormat:@"visible == %@", [NSNumber numberWithBool:YES]]
在使用单独的后台线程时,NSManagedObjectContext我更新了几个实体,并将它们的visible值从更改NO为YES。保存,合并主线程中的更改NSManagedObjectContext。但是NSFetchedResultsControllers fetchedObjects不会改变。控制器也不会调用-controller:didChangeObject:...委托。如果实体以相同的方式在主线程上更新(我的测试应用程序调用了相同的方法),那么一切都会按预期进行。
通知还NSUpdatedObjectsKey包含那些对象。
目前,我发现的唯一解决方案是调用每个NSUpdatedObjectsKey实体:
NSManagedObjectContext *context = ... // main thread context
[context existingObjectWithID:[object objectID] error:nil]
此问题仅与以前与谓词不匹配的更新对象有关。
我是否缺少明显的东西?
米琪卡哇伊
千万里不及你
30秒到达战场
相关分类