前注:本文章未完成,可是考虑到目前的iOS版本比起当时我写这个笔记的时候已经有很大变化了,因此不少内容可能不一样。
本文地址:https://segmentfault.com/a/11...segmentfault
用户程序里面包含了一个标准的main()函数,这个函数里面的代码应该是最小程度地使用,要么就不改。
main()函数作的事情有两个:
一、建立自动释放池(autoreleasepool)
二、调用UIApplicationMain()设计模式
每一个应用程序中,必需要有这些delegate方法。参见UIApplicationDelegate文档。
这个delegate对象负责处理几个关键的系统事件,很大程度上,用户程序的入口甚至能够说就是从这些delegate开始的。框架
好比一个触摸动做,数据传递过程为:
触摸数据 ——封装于——> UIEvent ——包含——> UITouch函数
UIApplication对象用一个处理触摸事件的输入原来配置主循环(main runloop)
应用程序 ——派发事件——> UIWindow对象 ——传送事件——> 第一响应者
第一响应者(first responder)是什么?通常就是各类UIApplication、UIWindows、UIView或其派生类。oop
iOS开发使用MVC模式,分别是模型 - 视图 - 控制器spa
委托设计
目标 - 动做:控件将用户预先定义好的“动做”发给“控件”处理对象
内存模型:引用计数blog
在iOS中,每次只能有一个前台程序在运行。点击应用程序图标时,程序启动,并应该快速初始化。
点击Home时,iOS通知应用程序推出,此时应该尽快保存须要保存的数据,不然5秒内整个程序可能会被终止(注:如今就不必定了)
设计应用程的时候,要让用户看起来以为好像程序正在后台运行同样。生命周期
一个典型的App程序包(好比命名为SomeApp)的内容为:
(待续……)