1

ここ数日、私はこれを達成する方法を見つけようとしてきましたが、私のわずかな知識では方法がありません.

コア データ モデル デザイナーで 3 つのエンティティ リスト <<-->> アイテム <<-->> ストアを設計しました。それぞれに「名前」と呼ばれる属性が 1 つだけあります。

目標は、リストを選択してから、ストア別にグループ化されたリスト内のすべてのアイテムを表示することです。

私は使用しようとしました:

    // Set entity.
    entity = [NSEntityDescription entityForName:@"Item" inManagedObjectContext:self.managedObjectContext];
    [fetchRequest setEntity:entity];

    // Set object filters.
    predicate = [NSPredicate predicateWithFormat:@"ANY list.name == %@", self.list.name];
    [fetchRequest setPredicate:predicate];

    // Set FRC
    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"store.name" cacheName:nil];

エラー:

'Invalid to many relationship in setPropertiesToFetch: (store.name)'

そして、この方法で行を手動で入力することもできます (方法はまだわかりません):

    // Set entity.
    entity = [NSEntityDescription entityForName:@"Store" inManagedObjectContext:self.managedObjectContext];
    [fetchRequest setEntity:entity];

    // Set object filters.
    predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(item.list, $x, $x.name == %@).@count > 0", self.list.name];
    [fetchRequest setPredicate:predicate];

    // Set FRC
    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"name" cacheName:nil];

エラー:

'Only allowed one toMany/manyToMany relationship in subquery expression collection (SUBQUERY(item.list, $x, $x.name == "List02"))'

また、フェッチされたプロパティや、どこにも到達しない他の方法も試しました。

何か案は?

よろしく。ペドロ。

4

2 に答える 2