기본적으로 TabBarController와이 컨트롤러에 연결된 일부 하위보기가 있습니다. TabBarController에는 하위보기에서 액세스하려는 일부 속성이 있습니다. 여기 하위 ViewController에서 TabBarController 변수에 액세스
내가 가진 무엇 :MyTabBarController의하는 .m
-(void)setDetails:(id)sender
{
self.myVariable = @"This is a test";
NSLog(@"Here I set my variable");
}
- (void)viewDidLoad
{
NSLog(@"[LOAD] My Tab Bar Controller");
[self setDetails:nil];
}
첫 번째 서브 뷰의하는 .m
다음- (void)viewDidLoad
{
NSLog(@"[LOAD] FirstViewController");
MyTabBarController *myTBC = (MyTabBarController *)self.tabBarController;
self.headerName.text = myTBC.myViariable; // Here I just set the UILabel's text
NSLog(@"Header name = %@", self.headerName);
}
내가 로그에있는 내용은 다음과 같습니다
2012-08-07 11:43:23.001 MyFirstproject[23632:15203] [LOAD] My Tab Bar Controller
2012-08-07 11:43:23.012 MyFirstproject[23632:15203] [LOAD] FirstViewController
2012-08-07 11:43:23.072 MyFirstproject[23751:15203] Header name = (null)
2012-08-07 11:43:23.116 MyFirstproject[23751:15203] Here I set my variable
내 문제 로그에서 볼 수 있듯이 viewDidLoad
MyTabBarController의 기능은 FirstController의 앞에 입니다. 그러나, 이후에 MyTabBarController의 setDetails
함수는 이고, FirstViewController 함수는 viewDidLoad
입니다.
어떻게 가능합니까? 내가 여기서 잘못하고 있는게 있니?
감사합니다.
시도 대신 viewDidLoad''의 viewDidAppear' 방법'에 firstViewController에 대한 코드를 넣어 : –
을 그것은 일, 감사합니다. 이 두 기능의 차이점은 무엇입니까? –