IPhone开发学习:程序初期化
痛恨MFC很多年了,有碰上这种点两下鼠标程序就能跑的东西,心里那个烦啊~~~:-(
没辙谁让对于移动开发,咱还是新兵呢,这拖拖控件,点点鼠标的事,只好再上了。
这里以windows-base的程序为例子来说明一个IOS程序的初期化过程:
程序入口:
首先,程序的入口函数还是main,看other resource里的main.m。这里它默认调用UIApplicationMain这个系统函数。
解析plist文件和mainWindow.nib:
这是程序的配置文件,包括程序在IPhone里显示的名称,和main nib文件的名称。通过UIApplicationMain这个入口,框架会解析这个plist文件,然后加载main nib,你可以在xcode中打开MainWindow.xib这个文件,在IB中你会发现它实际上包括了好几个类,之所以说是类,实际上nib文件就是一些类的序列化文件。其中包括UIApplication(nib里的file onwer,全局单例),window(所有app的根窗口,只有一个,一般不需要修改),first responder(消息相应中用到,这里无关),delegate类(也会默认生成一个,需要自己修改)。
进入初期化和消息循环
与其他平台上的GUI框架一样,app类中总是包含消息循环,用于事件驱动整个程序。事件的响应函数,则是由代理类来提供,代理类说白了就是实现了一个固定接口(object-c中叫做protocal)的类。app会在接受到消息后回调它。
ViewController建立和View显示
当app初期化完成后,回调用delegate中application函数,在这里你就可以生产自己的viewController和view,与一般的MVC构架没有什么不同,不详细写了。