2

コアデータを使用していて、にを入力しようとしてUITableViewNSMutableSetます。チームプレーヤーの2つのエンティティがあります。私addTeamsControllerの場合、次のようにプレーヤーをチームに保存しています

-(void)saveButtonWasPressed {
    self.team =[NSEntityDescription insertNewObjectForEntityForName:@"Team" inManagedObjectContext:self.managedObjectContext];

    Player *newPlayer = (Player *)[NSEntityDescription insertNewObjectForEntityForName:@"Player" 
                                                                inManagedObjectContext:self.managedObjectContext];
    team.schoolName = _schoolName.text;
    team.teamName = _teamName.text;
    team.teamID = _teamName.text;
    team.season =  _season.text;
    team.headCoach = _headCoach.text;
    team.astCoach = _assistantCoach.text;


    [self.team addPlayers:_tempSet];

    [self.managedObjectContext save:nil];
    [self.navigationController popViewControllerAnimated:YES];    
}

別のviewControllerで、そのチームのプレーヤーをテーブルビューに入力しようとしています。それをするために私は次のようにしています

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
_array = [[_team.players allObjects] sortedArrayUsingDescriptors:sortDescriptors];

次に、行とインデックスのパスのセルで次のことを行います

    cell.textLabel.text = [_array objectAtIndex:indexPath.row];

そして、私はエラーを受け取ります

[Player  isEqualToString:]: unrecognized selector sent to instance

プレイヤーの名でソートされたテーブルビューを埋めるための最良のアプローチは何でしょうか。

4

1 に答える 1

0

コアデータストアからテーブルにデータを入力する最良の方法は、を使用することNSFetchedResultControllerです。しかし、それはあなたが抱えている問題を解決するつもりはありません。問題は、あなたがに設定しようとしていることですがcell.textLabel.textNSManagedObjectそれは機能しません。設定できます

cell.textLabel.text = Player.someStringAttribute
于 2012-07-05T03:24:19.027 に答える