我有一个NSFetchedResultsController
在表视图中显示“位置”,但是当我更新应该在另一个视图控制器中显示的一组位置时,我的FRC不会更新表视图。
这是一般问题。我的具体案例似乎围绕着NSPredicate
支持我的FRC,因为当我删除NSPredicate
(并且只是获取所有位置)时,一切正常。
我的查询是
@"ANY photos.isFavorite == %@", [NSNumber numberWithBool:YES]
地方与照片有一对多的关系(我正在通过CS193P工作)。也许我的FRC没有设置为观察相关表格或其他内容的变化?
关于我的情况的一些其他信息:
sectionNameKeyPath
is not set to a transient attribute. cacheName
is set to nil. 答案 0 :(得分:4)
答案 1 :(得分:0)
您是否尝试过测试更简单的谓词,例如使用照片一对一关系而不是照片?
“我的FRC不更新表格视图” - 您使用的是-controllerDidChangeContent :?你确认它没有被调用吗?我已经看到与文档相反,在此方法中从tableView调用reloadData是不安全的,因为该方法可能在辅助而不是主线程上调用。
您是否在同一个(主?)线程上执行与MOC相关的所有操作?
答案 2 :(得分:0)
请尝试使用此谓词吗?
@"%@ IN photos.isFavorite", [NSNumber numberWithBool:YES]