2013-10-01 4 views
1

У меня было приложение, в котором у меня был tabbarcontroller, добавляющий к окну приложения. В контроллере tabbar у меня было два элемента панели вкладок, каждый из которых имел контроллер навигации, в котором подключены соответствующие контроллеры представлений. Теперь мне нужно получить доступ к переменной экземпляра из частности вид-контроллер, который находится внутри контроллера навигации в панели вкладок controller.I делаю как это, но никакой пользы:Как получить доступ к определенному диспетчеру просмотра из панели управления tabbar?

NSArray *mycontrollers = self.tabBarController.viewControllers; 
NSLog(@"%@",mycontrollers); 
self.secondviewcontroller=(SecondViewController *)[mycontrollers objectAtIndex:1]; 
self.secondviewcontroller.var=self.var; 

но бросил какое-то сообщение об ошибке, как

может -[UINavigationController setvar:]: unrecognized selector sent to instance кого помогите мне разобраться, как достичь определенного контроллера вида из hirarchy этого навигационного контроллера.

ответ

1

Try:

NSArray *mycontrollers = self.tabBarController.viewControllers; 
NSLog(@"%@",mycontrollers); 
UINavigationController *nvc = [mycontrollers objectAtIndex:1]; 
self.secondviewcontroller=(SecondViewController *)[nvc topViewController]; 
self.secondviewcontroller.var=self.var; 

Причина ваше приложение было сбой, потому что self.tabBarController.viewControllers; возвращался навигационные контроллеры.

+0

throws me Предупреждение navigationcontroller может не отвечать на objectatindex в 4-й строке – hacker

+0

@hacker см. Мое редактирование ... –

+0

@hacker Это сработало? –

Смежные вопросы