窗口、视图、视图控制器

窗口
窗口和视图被用来表示应用程序的可视内容和管理与用户的直接交互。一个窗口是一个UIWindow类的实例。本身是不可见的。用来承载一个或多个视图。窗口覆盖整个屏幕。极大多数的iOS应用程序只有一个窗口。
视图 
一个视图是一个UIView类的实例,定义了应用程序窗口上的一块矩形区域。视图在其矩形区域内显示内容,有一些可以变化的属性,并能收到触击事件。视图同样可以有一系列的子视图。 
许多的用户接口类是UIView类的子类。我们可以通过把层次结构把多个UI元素组合在一起来构造复杂的UI。
如下图:

图片来源:《iPhone.and.iPad App.24-Hour.Trainer》
MVC模式
iOS编程最常用到的模式是MVC模式。MVC模式要求编程者思考:一个类是属于相互区别的模式、视图、控制器中(数据、视图、管理者)的哪一种。如果你的类扮演了上述三种角色中的一种以上,那么那不是一个好的设计。
数据类(模型类):用来存储和以某种方式组织数据。数据可用是从某个网站上获得的股票价格,一篇用户输入的文章等待。
视图类:负责把数据展示给用户。
管理类(控制类):管理数据与视图之间的连接。
MVC的目标是使对象能够尽可能的相区别,分工合作。以增强程序的可扩展性、灵活性。一个类表示了股票价格就不应该有任何画图的代码。一个类实现了一个按钮就不应该再去处理当用户按下按钮时的输入。
iOS基本都遵从MVC模式。所以就有了三个大类之分:数据类、视图类、控制器类。
控制器管理内容以及用户与视图的交互。视图复杂展示用户接口例如一个按钮,代码(在控制器类中)就负责实现当按钮被按下时要做的操作(反应)。
最常用到的控制器类是UIViewController。
UIViewController类定义了许多当重要事件发生时调用的方法。我们可以在我们的控制器类中覆盖这些方法,以便当重要事件发生时做些什么。
几个需要重载的最常用的方法有:
- didReceiveMemoryWarning: 内存不足时调用
viewDidLoad: 视图被加载到内存后调用。这个函数是一个初始化我们自己UI元素的好地方。
我们可以通过xcode Interface Builder来方便的创建控制器类和UI元素之间的连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值