2012-07-04 2 views
2

Я использую основные данные и пытаюсь заполнить UITableViewNSMutableSet. У меня есть две компании, Команды и Игроки. На моем addTeamsController я коплю игрок команд следующегоЗаполнение TableView с помощью NSMutableSet

-(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 я пытаюсь заполнить TableView с тем, что игроками команд. Для этого я делаю следующим образом

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 

I интересно, какой лучший подход к заполнению таблицы, отсортированной по именам игроков.

ответ

0

Лучший способ заполнить таблицу из хранилища данных ядра - использовать NSFetchedResultController. Но это не решит проблему, возникшую у вас, проблема в том, что вы пытаетесь установить cell.textLabel.text на NSManagedObject, который не работает. Вы можете установить

cell.textLabel.text = Player.someStringAttribute