OS X中应用的生命周期

本文详细介绍了iOS应用从启动到运行的全过程,包括系统如何读取Info.plist文件获取基本信息、加载nib文件及storyboard中的预设窗口和控件,并讨论了对象的解包与初始化过程,以及awakeFromNib消息的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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等消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值