0

OK、NSMutableセットを取得しようとしています。はい、これについては以前の投稿がありますが、これは少し異なります。プレーヤーエンティティとチームエンティティがあります。これは1対多の関係として設定されています...別のビューコントローラーで、チームにプレーヤーを追加しました。今、私はそのチームの選手をテーブルビューに表示させようとしています...私は次のように情報を取得しています。

- (NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
    return _fetchedResultsController;
}

NSString *entityName = @"Team"; 
NSLog(@"Setting up a Fetched Results Controller for the Entity named %@", entityName);

// 2 - Request that Entity

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];

AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
_managedObjectContext = delegate.managedObjectContext;

// 4 - Sort it 
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"players"
                                                                                 ascending:NO
                                                                                  selector:@selector(localizedCaseInsensitiveCompare:)]];

// 5 - Fetch it
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                    managedObjectContext:self.managedObjectContext
                                                                      sectionNameKeyPath:nil 
                                                                               cacheName:nil];
_fetchedResultsController.delegate = self;

return _fetchedResultsController;

}

次に、インデックスパスの行のセルで、次のようにPlayerオブジェクトをフェッチされた結果に設定しています。

    Player *p = [_fetchedResultsController objectAtIndexPath:indexPath];

次に、セルのタイトルをそのように設定します。

cell.textLabel = p.firstName;

私はエラーの理由を得ています:'to-manyキーは彼女を許可していません

私は何が間違っているのだろうか?

4

1 に答える 1

0

理解した!私はコアデータではNONOである1対多の関係でソートしていました。プレーヤーオブジェクトで並べ替えに切り替え、必要な適切なプレーヤーを見つけるための述語を追加しました。

于 2012-07-06T06:28:43.063 に答える