iOS开发入门总结

首先,我自己总结的应用程序的结构

首先是UIApplicationMain,这个代表了这个应用程序,一个程序是只有一个的。

感觉跟我以前做过的Qt比较像,都有一个main函数作为整个应用程序的入口,Android就没有一个函数作为整个程序的入口。至于为什么会这样,我理解为这是C语言的残留。

iOS在main函数中建立一个UIApplicationMain,并返回UIApplicationMain函数的返回值。

那么UIApplicationMain里面有什么呢?我看到有一个参数的参数是AppDelegate,这是一个托管类,我理解为通过这个参数,我们把整个应用程序托管给了系统。

应用程序的启动,显示,挂起,以及退出,都由系统来判断并执行相应的托管函数。

托管类管理整个应用程序的生命周期,我们可以在相应的函数中定义应用程序去做什么。

托管类的头文件里面有一个属性,是UIWindow,一个应用程序也只有一个UIWindow。然后iOS里面的一个界面就是一个场景。

到这儿,我就不是太理解iOS为什么要这么做,一个UIAppcationMain对应一个AppDelegate,一个AppDelegate对应一个UIWindow,然后一个UIWindow对应多个场景。

层级很复杂

但是Android就只有一个Application,而且存在感很低,因为系统会自动创建这个类,除非你想用它来做些什么,比如实现应用程序级的全局变量等等,我们才会去继承它,所以一般就只有一个层级,就是activity,一个activity对应一个界面,一个应用程序会有多个activity。

在功能上一个activity对应一个场景,但是activity也包含了一定UIWindow和托管的功能。就我自己感觉,这样扁平化的层级设计,是更加合理的。

 

不过话又说回来,iOS和Android都只有两部分的生命周期,一个是application本身的,一个是每个界面的生命周期。

大概就这么多,慢慢看吧

话说英语真的太重要了,当最好的资料全是英文的时候,英文太差真是无比的影响效率啊。

iOS开发入门总结

上一篇:Android用surface直接显示yuv数据(二)


下一篇:IO流