苹果手机。查看架构

时间:2010-05-17 18:52:01

标签: iphone architecture

任何人都可以总结下列项目之间的关系吗?

  1. 内容视图
  2. 查看控制器
  3. 笔尖
  4. 视图,UIView的子类
  5. 申请代表
  6. 我对这些非常困惑。有些人说“内容视图”包含“笔尖”,而其他人说“内容视图”和“笔尖”不相互包含。

    非常感谢!

1 个答案:

答案 0 :(得分:1)

哦,伙计......那不是那么容易。但我会试试。

  • 正在从main()启动应用程序。
  • 应用程序委托在runloop期间从Application接收回调。例如,当app完成启动或其他内容时。
  • 通常,应用程序包含UIWindow的单个实例,即所有视图层次结构的根。
  • UIWindow可以拥有UIViews,他们可以自己拥有UIViews。所以,有一个UIViews(一棵树)的层次结构
  • 每个视图都有控制器,它获取用户输入和其他事件并控制UIView(例如,告诉它由于用户点击而重绘自身)。控制器可以是标准的或定制的,由开发人员编写。
  • 内容视图是普通视图。通常在表格单元格内。 UITableViewCell实例有一个名为contentView的属性。这是一个普通的视图,它可以是任何UIView子类。

NIB是另一个故事。您可以自己创建整个视图层次结构。但是有另一种方法:使用Interface Builder。在界面构建器中创建视图/子视图后 - 您可以将此层次结构的所有属性保存为单个(序列化)文件。并在应用程序运行期间立即加载它。

NIB有三个主要对象。文件所有者是一个对象,当您发送诸如

之类的消息时,您将获得该对象
+ (BOOL)loadNibNamed:(NSString *)aNibName owner:(id)owner

此处所有者将填写NIB中文件所有者的所有属性。

第一响应者 - 首先接收输入。你现在可以忘掉它。

查看 - 是主要视图。通常它链接到文件所有者的视图属性。

这是对所有这些事情的简短概述。你真的必须阅读文档才能更好地理解它。