我什么时候应该使用didFinishLaunchingWithOptions?

时间:2013-05-14 03:13:56

标签: ios objective-c uiviewcontroller appdelegate

我觉得我应该知道这一点,但我没有,而且总是让我困惑。

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

的AppDelegates

@property UIWindow* window

然后是@synthesized,然后是

[window setRootViewController:controllerToBeSet]

[window makeKeyAndVisible]

其他应用在代理中的任何位置都不会有一行代码。

我知道故事板中的友好箭头表示根视图控制器。 那么打包AppDelegates只是为了基于nib的项目吗?

我需要清楚说明使用didFinishLaunchingWithOptions委托方法的规范以及最初设置视图的方式。

1 个答案:

答案 0 :(得分:6)

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

  

主故事板初始化您应用的用户界面

     

主要故事板在应用程序的信息属性列表中定义   文件。如果在这个文件中声明了一个主故事板,那么当你的   应用程序启动后,iOS执行以下步骤:

     

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

如果您不使用故事板,则需要实例化窗口,设置窗口的根视图控制器,并使窗口在didFinishLaunchingWithOptions方法中可见。如果您启动了关闭故事板的单个视图项目,则可以从模板中获取该文档。