Передача данных через контроллер представления, контроллер панели вкладок, контроллер навигации и просмотр контроллера

Это, вероятно, что-то действительно простое для достижения, но я новичок в программировании для iOS, и я, кажется, застрял.

Итак, у меня есть приложение с вкладками. Я решил, что хочу панель навигации, в дополнение к панели вкладок. Для этого я поместил контроллер панели вкладок, а затем добавил контроллеры представления и встроил его в контроллер навигации для каждого контроллера представления, который затем подключается к панели вкладок.

Моя иерархия в раскадровке выглядит примерно так:

Контроллер представленияКонтроллер панели вкладокНавигационный контроллерКонтроллер представленияНавигационный контроллерКонтроллер представления

Я застрял здесь, когда пытаюсь передать данные из первого View Controller и в любой другой View Controller. Перед добавлением в контроллеры навигации я использовал метод prepareForSegue для передачи данных, например так:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"logged"])
    {
        UITabBarController *tabar=segue.destinationViewController;
        SecondViewController *svc=[tabar.viewControllers objectAtIndex:1];
        svc.groupArray = [(NSArray*)sender objectAtIndex:0];
        svc.userArray = [(NSArray*)sender objectAtIndex:1];
        svc.taskArray = [(NSMutableArray*)sender objectAtIndex:2];
        svc.selfArray = [(NSMutableArray*)sender objectAtIndex:3];
        [tabar setSelectedIndex:1];
    }
}

Как вы можете видеть, я передавал данные своему второму контроллеру представления и установил индекс панели вкладок на 1, используя метод executeSegueWithIdentifier, поскольку я хотел открыть вторую страницу. Все это работало просто отлично, пока я не представил в своем коде навигационные контроллеры, так как мне нужны панели навигации. Вот когда все в значительной степени сломалось. Если я пытаюсь запустить код как есть, приложение вылетает со следующим выводом в консоли:

[UINavigationController setGroupArray:]: нераспознанный селектор, отправленный экземпляру 0x7ffa6acec620

*** Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «- [UINavigationController setGroupArray:]: нераспознанный селектор, отправленный экземпляру 0x7ffa6acec620»

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

Ответы на вопрос(2)

Ваш ответ на вопрос