2013-10-01 1 views
1

나는 응용 프로그램의 윈도우에 추가하는 tabbarcontroller가있는 응용 프로그램을 가지고 있습니다. tabbarcontroller에는 각보기 컨트롤러가 연결된 탐색 컨트롤러가있는 두 개의 탭 막대 항목이 있습니다. 이제 인스턴스 변수에 액세스해야합니다. 이tabbarcontroller에서 특정 viewcontroller에 액세스하는 방법은 무엇입니까?

-[UINavigationController setvar:]: unrecognized selector sent to instance 수있는 사람으로 일부 오류 메시지를 던졌다

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

그러나 다음 탭 표시 줄 controller.I의 탐색 컨트롤러 내부에 특정 뷰 - 컨트롤러없이 사용하지만,이 같은 일을 오전의 이 navigationcontrollers의 hirarchy에서 특정보기 컨트롤러를 달성하는 방법을 알아내는 데 도움이됩니다.

답변

1

시도 :

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

경고 네비게이션 컨트롤러가 4 번째 줄의 오브젝트 인덱스에 응답하지 않을 수 있습니다. – hacker

+0

@hacker 내 편집 참조 ... –

+0

@hacker 작동 했습니까? –

관련 문제