我目前正在运行以下代码作为简单测试iPad程序的一部分。我已将“viewController”声明为属性。在我看到涉及子视图的所有其他示例中,我已被要求分配并初始化viewController,但在这里它工作正常。有什么想法吗?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Why does this work without allocating or initializing viewController?
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
return YES;
}
答案 0 :(得分:2)
这看起来像Apple提供的iOS模板的典型样板代码。在这些项目中,viewController在MainWindow
NIB中定义。这个NIB在启动应用程序的过程中很早就加载了。 viewController在NIB加载过程中分配,然后调用initWithNibName:bundle:
。然后,NIB加载过程将初始化对象连接到应用程序委托的视图控制器IBOutlet
。