0

重複の可能性:
述語を持つ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];
4

0 に答える 0