OS X中应用的生命周期

swift Cocoa 61
在启动一个应用时,系统要做的第一件事就是打开应用的Info.plist。系统从这个文件中获取代码文件位置,可以打开的文档类型,支持语言等基本信息。并启动代码文件。

应用程序一般都会包含一些nib文件,这里有预先设计好的窗口,控件等,包括storyBoard。这些都是对象,在这时被加载到内存中。

系统一个一个nib文件的解包并将它们连接到一起。每解包一个对象就会向其发送awakeFromNib消息,从此刻开始,该对象可以开始运行代码。

这里需要注意的是,nib中的对象在程序编写时就已经初始化完毕了,在保存进nib中时只是进入了“冷冻状态”,在被唤醒后直接可以使用不需要初始化。

nib文件包含一个树状的对象结构,这个树可以有很多根。例如,一个nib文件可以包含两个窗口,每个窗口都有自己的控件和按钮。这些位于树顶端的对象为顶级对象,顶级对象一般为可见事物,OS X中为窗口,IOS中为视图控制器。

在nib被加载时,会根据nib文件中的信息构建nib中的对象。一旦所有对象都位于内存中后,每个和代码中链接的outlet就会被链接起来,这个对象中所有outlet链接完成后,就会收到awakeFromNib()消息,调用这一方法时,所有outlet的对应关系已经被重建。
以上内容IOS应用也适用。

这时应用程序已经准备好了,在向AppDelegate发送applicationDidFinishLaunching后即进入运行循环

在应用程序切换或关闭操作时,AppDelegate会收到applicationWillResignActive,applicationDidResignActive;
applicationWillBecomeActive,applicationDidBecomeActive;
applicationWillTerminate等消息。

你可能感兴趣的:(生命周期,应用)