我正在使用NSFetchedResultsController来控制我正在使用的网格视图的更新。我正在设置一个复合谓词,其中有一个布尔属性,我正在检查NO,然后检查是否有任何关系实体。
在后台线程中,我使用单独的MOC进行保存,这没有问题。只有谓词设置为选定的部分,我的委托方法才会被调用。如果我添加谓词的关系部分,我的委托永远不会被调用。
这是NSFetchedResultsController的限制吗?它不能检查儿童实体吗?
NSSortDescriptor *sortDesc = [NSSortDescriptor sortDescriptorWithKey:@"order" ascending:YES];
NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName:@"Tab"];
//Problematic line here.
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(selected == NO) && (modules.@count > 0)"];
[req setPredicate:pred];
[req setSortDescriptors:@[sortDesc]];
NSFetchedResultsController *fc = [[NSFetchedResultsController alloc] initWithFetchRequest:req managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
[fc setDelegate:self];