根據從init到viewDidLoad的視圖控制器如何加載到內存中,全序列事件是什麼?viewDidLoad可以在viewController的'init'完全執行之前調用嗎?
如果你做這樣的事情:
TabControllerClass *cc = [[TabControllerClass alloc] initWithCustomData:something];
可以在類的viewDidLoad獲得到達定製init方法,「initWithCustomData」結束之前調用?
- (id)initWithCustomData:(NSString *)something
{
if (self = [super init])
{
// A bunch of other initialization happens
}
// Would you reach here before 'viewDidLoad' is invoked?
return self;
}
其中我的TabControllerClass繼承自UITabBarController。
你是否實現了loadView,或者你使用一個筆尖來構造實際視圖?我不確定它是否有影響,但是如果你使用initWithNib :(你明顯不這樣做),那麼這個問題可能與以編程方式構造視圖的方式不同。 – Robin 2011-03-14 22:20:54
沒有nib加載,這個類繼承自UITabBarController。 – 2011-03-14 22:27:02
呃,你不應該繼承UITabBarController。這也許可以解釋這個問題(正如Alexsander所寫,你的方法可能不是指定的初始化器)。如果您必須覆蓋UITabBarController的某些方法,請使用Categories。 – Robin 2011-03-14 22:29:20