在iOS上,在ViewController的viewDidLoad中,子视图的数量是0?哪种方法可以显示填充的数字?

在iOS上,在ViewController的viewDidLoad中,子视图的数量是0?哪种方法可以显示填充的数字?,ios,uiview,uiviewcontroller,uikit,uiwindow,Ios,Uiview,Uiviewcontroller,Uikit,Uiwindow,使用Xcode 4.3.2,在ViewController的 - (void)viewDidLoad { // ... UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; NSLog(@"How many subviews %i", window.subviews.count); } 计数实际上是0。。。如果我在tap事件处理程序中打印出数字,那么我会看到1,这是应用程序的

使用Xcode 4.3.2,在ViewController的

- (void)viewDidLoad
{
    // ...

    UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
    NSLog(@"How many subviews %i", window.subviews.count);
}

计数实际上是0。。。如果我在tap事件处理程序中打印出数字,那么我会看到1,这是应用程序的主视图。因此,我想知道为什么viewDidLoad中的[subviews count]是0,并且是否存在像viewDidLoad这样的init或begin方法,它将打印1,而不需要在tap事件处理程序中打印它。

尝试在-voidViewDidDisplay:BOOLanimated中记录子视图的计数

viewDidLoad 在控制器的视图加载到内存后调用。 视图显示:
通知视图控制器其视图已添加到视图层次结构中。

尝试在-voidViewDidDisplay:BOOLanimated中记录子视图的计数

viewDidLoad 在控制器的视图加载到内存后调用。 视图显示: 通知视图控制器其视图已添加到视图层次结构。

因此viewDidLoad并不意味着主视图已加载或添加?在viewDidLoad:,它已加载到内存中。然后,框架调用ViewWillAppease:让您知道它将把它放到窗口中,ViewDidAppease:完成后。那么viewDidLoad并不意味着主视图已经加载或添加?在viewDidLoad:,它已经加载到内存中。然后,框架调用viewwillappease:让您知道它将把它放到窗口中,并调用viewDidAppeare:完成后。