iOS Apps核心对象
![](http://images0.cnblogs.com/blog/413880/201302/18115409-e05d3fff38d049e5ab7321c05bd0e395.png)
UIApplication:
处理来自系统的事件并将这些事件分发到开发者的自定义代码去处理。作为一个controller对象 ,它处理app的事件循环和协调其他上层的app行为。开发者自定义的app层逻辑位于app的delegate对象,与UIApplication联合一起工作。
App Delegate Object:
app delegate对象是一个自定义对象,在app启动的时候创建,通常在UIApplicationMain方法中创建。它最基本的工作就是负责app中的事件传递。
Documents和data model Objects:
Data model object存储app的内容,它根据你的app而定。
Documents对象可以用于管理部分或者全部的data model objects。它不是必须的,但是可以提供一个方便的方法去对数据进行分组管理。
View Controller Objects:
controller对象管理app内容在屏幕的展现。一个view controller管理单个view以及它的子view集合。当需要被展现时,view controller通过把views “安装”到window上显示它们。UIViewController是所有view controller对象的基类。它提供默认的一些功能,例如,加载views,展现,旋转,以及另外一些标准的系统行为。
UIWindow objects:
UIWindowuixiang协调展现在屏幕的views。大部分app只有一个window,但是apps可以有额外的window。
当你需要改变展现的内容时,通过view controller去改变展现在window中的views。不需要替换window本身。除了装载(容纳)views(hosting views)外,window通过和UIApplication一起去把事件传递给views和views controller。
View,Control,Layer Objects:
views和controls提供app内容的可视展现组件。view是一个用户绘制内容,划定好的长方形区域。它响应该区域中的事件。controls是一种特殊类型的views,它负责实现相关的对象接口,例如,buttons,text fields,toggle switches等。