基本上,我有一个 TabBarController 和一些附加到这个控制器的子视图。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];
}
第一个 subView 的 .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
我的问题是:正如我在日志中看到的,MyTabBarController 的viewDidLoad
函数在 FirstViewController的函数之前被调用。但是,似乎setDetails
MyTabBarController的函数是在 FirstViewController 的函数之后viewDidLoad
调用的。
这怎么可能 ?我在这里做错了什么吗?
谢谢 !