Данные не передаются для просмотра - PullRequest
0 голосов
/ 21 ноября 2011

Я хочу передать "человека", который был выбран в tableView, в detailViewController. Я соединил их в Интерфейсном Разработчике через Раскадровки и установил собственный идентификатор segue. NSLog вызывается, но возвращается (null). Кроме того, в detailView ничего не отображается, кроме содержимого по умолчанию ...

Мой tableViewController:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{ 
if ([[segue identifier] isEqualToString:@"didSelectRow"]) {
    DetailViewController *detailViewController = (DetailViewController *)[segue destinationViewController];
    Human *employee = [[Human alloc] init];
    employee = [people objectAtIndex:[[self.tableView indexPathForSelectedRow] row]]; 
    [detailViewController setHuman:employee];

}
}

И detailViewController

-(void)setHuman:(Human *)human
{
NSLog(@"%@",employee.name);
employee = human;
nameLab.text = employee.name;
descriptionLab.text = employee.description;
imageViewBig.image = [employee imageForName];
}

Заранее спасибо!

1 Ответ

1 голос
/ 21 ноября 2011

Ваша переменная human в setHuman содержит employee. Таким образом, вы должны назначить переменную human для @property human для DetailViewController в вашей функции. Или, что еще лучше, просто назначьте свойство снаружи: detailViewController.human = employee.

Ваш NSLog возвращает ноль, потому что вы называете его до , присваивая human employee.

Может быть, поможет выбор менее повторяющихся имен ивара.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...