【问题标题】:iOS View Based Application template: "application:didFinishLaunchingWithOptions:" where is viewController initialized?iOS View Based Application 模板:“application:didFinishLaunchingWithOptions:” viewController 在哪里初始化?
【发布时间】:2026-02-14 22:25:07
【问题描述】:

当您使用基于视图的应用程序模板创建新的 xcode 项目时,以下是“application:didFinishLaunchingWithOptions”中 viewController 的应用程序委托中的代码

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

Apple's Your First iOS Application Guide

从基于窗口的应用程序模板开始,我们需要分配并初始化我们的 viewcontroller 类,然后将应用程序委托 viewcontroller ivar 指向它。然后释放。见以下代码:

    MyViewController *aViewController = [[MyViewController alloc]
            initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];
[self setMyViewController:aViewController];
[aViewController release];

我在基于视图的应用程序模板的任何地方都找不到内存分配或初始化。我错过了什么?

【问题讨论】:

    标签: ios view controller viewcontroller


    【解决方案1】:

    初始化是在 NIB 中进行的(在 plist 中命名),在代码中再次执行它是没有用的,而第二个示例不在 NIB 中创建,因此需要在代码中进行初始化......或者也许我错过了一些东西。

    【讨论】: