重複の可能性:
述語を持つNSFetchedResultsControllerは、異なるNSManagedObjectContextからマージされた変更を無視します
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];