cocoa 程序运行过程

详谈Cocoa程序启动过程是本文要介绍的内容,首先,我们的程序运行的时候是对象之间的相互作用,而不是类之间的作用。

新建一个helloword的cocoa程序,可以在xib中找到下面几个对象:

file's Owner:xib文件的加载者

firsrt responder :消息链中第一个能响应相应消息的对象。

application :nsApplication的一个实例。

main menu:nsmenu的一个实例。

window app delegate:application的委托实例

font manager:nsFontManager的一个实例。
 
1、程序启动,从mian开始,实例化一个nsapplication。

2、application加载mainmenu.xib,它怎么知道要加载这个sib文件而不是别的呢?这个其实是在info.plist文件中指定的。

3、application加载完这个文件后就成了mainmemu.xib的File'Owner。

4、nsApplication有个delegate的Outlet,用以指定它的委托对象

5、application实例在加载这个xib文件的过程中会调用window app delegate中的方法。

6、applcation加载xib文件后会根据文件的内容实例化里面其他的类,创建窗口,试图等。进入消息循环。

7、firsrt responder 是消息链中第一个能响应相应消息的对象,它不是具体指哪个对象,如用户单机一个“复制”菜单,如果当前焦点在编辑框中则第一个能响应“复制”这个消息的可能是编辑框,而如果当前在浏览器中,则第一个能响应该消息的是浏览器视图对象。

原文地址:http://mobile.51cto.com/iphone-279349.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值