Я не могу понять это для моей жизни. У меня есть пользовательская ячейка табличного представления, в этой ячейке у меня настроено несколько кнопок. Каждая кнопка соединяется с другими контроллерами представления через сеанс раскадровки. Я недавно удалил эти сегменты и установил метод pushViewController. Переход назад и вперед по различным представлениям работает, как ожидалось, однако контроллер представления назначения ничего не отображает! У меня есть код ниже в качестве примера.
Для кнопок установлен этот метод:
[cell.spotButton1 addTarget:self action:@selector(showSpotDetails:) forControlEvents:UIControlEventTouchUpInside];
// etc...
[cell.spotButton4 addTarget:self action:@selector(showSpotDetails:) forControlEvents:UIControlEventTouchUpInside];
// etc...
Метод showSpotDetails содержит этот код:
- (void)showSpotDetails:(id)sender
{
// determine which button (spot) was selected, then use its tag parameter to determine the spot.
UIButton *selectedButton = (UIButton *)sender;
Spot *spot = (Spot *)[spotsArray_ objectAtIndex:selectedButton.tag];
SpotDetails *spotDetails = [[SpotDetails alloc] init];
[spotDetails setSpotDetailsObject:spot];
[self.navigationController pushViewController:spotDetails animated:YES];
}
Подробности VC получает данные объекта.
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"spotDetailsObject %@", spotDetailsObject_.name);
}
Метод NSLog ниже выводит переданный объект. Кроме того, все в контроллере представления деталей, как было. Ничего не изменилось в деталях ВК. Он просто ничего не рендерит с тех пор, как я удалил переход и добавил метод pushViewController. Возможно, мне что-то не хватает в методе pushViewController? Я никогда так не поступаю, стараюсь всегда использовать сегы ...
Есть предложения?