0

我觉得我应该知道这一点,但我不知道,它总是让我感到困惑。

在浏览示例代码和教程时,我有时会看到 AppDelegates

@property UIWindow* window,

然后@synthesized

[window setRootViewController:controllerToBeSet]

[window makeKeyAndVisible]

其他应用程序在委托中的任何地方都不会有一行代码。

我知道情节提要中的友好箭头表示根视图控制器。那么打包的 AppDelegates 是否仅适用于基于 nib 的项目?

我需要对使用didFinishLaunchingWithOptions委托方法的规范和最初设置视图的方式有一些了解。

4

1 回答 1

6

你的理解基本正确。以下引用来自 Apple 的文档(在“在您的应用程序中使用视图控制器”中):

主情节提要初始化您的应用程序的用户界面

主情节提要在应用程序的信息属性列表文件中定义。如果在此文件中声明了主故事板,那么当您的应用启动时,iOS 将执行以下步骤:

它为您实例化一个窗口。它加载主故事板并实例化其初始视图控制器。它将新的视图控制器分配给窗口的 rootViewController 属性,然后使窗口在屏幕上可见。

如果不使用情节提要,则需要实例化窗口,设置窗口的根视图控制器,并在 didFinishLaunchingWithOptions 方法中使窗口可见。如果您在情节提要关闭的情况下启动单视图项目,您可以从模板中获得该信息。

于 2013-05-14T03:33:35.210 回答