UI开发
UI运行机制
决定了程序不是顺序运行的,而是绘制好界面,等待用户输入,然后对输入进行响应。
套路:程序框架已经将外围一切处理好,编程一般只需要编写响应的方法。
利用异步执行的方法,在任务完成完成前,原线程阻塞,会执行下一个任务,在任务完成后,框架会自动调用写好的回调函数来处理善后。
视图控制器ViewController
iOS主要通过视图控制器来接收消息处理
UIViewController管理视图的生命周期,视图事件如下:
- 视图加载完毕
- 视图将显示
- 视图已消失
- 视图将消失
- 视图已消失
每个事件对应一个响应方法,开发要做的是覆盖默认响应方法
协议:接口/抽象类,只有方法定义,不实现方法
代理:实现协议的对象
target:指定当事件发生后处理的事件
selector:指定某方法来具体执行响应事件
创建窗口和控件
UIViewController类定义好了一个界面,做好了所有的框架基础工作,只需编写某个子类实现某个界面及其事件响应方法。
视图的基础类为UIView,没有事件绑定,可定义收拾对象在其上。
控件是能够操作的视图类,基本类为UIControl,是UIView的子类,将低级的触摸事件自动识别为若干高级事件(按下、松开、拖动等)。
MVC架构
MVC模型,一个应用被分成三个层——模型层、视图层、控制层,Event(事件)导致 Controller 改变 Model 或 View,或者同时改变两者。只要 Controller 改变了 Models 的数据或者属性,所有依赖的 View都会自动更新。类似的,只要 Controller 改变了 View,View 会从潜在的 Model中获取数据来刷新自己。
View视图层就是UI,把 Model 中的数据渲染出来。
Model 模型是业务状态处理、业务规则指定,有点像一个类,对外部隐藏内部实现。
Controller 控制层就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。发给对应位置完成。自己不用处理。
控制器(C)控制视图(V)的显示,将模型(M)的数据显示到视图之上。Cocoa即为这种架构
M 模型
专注于如何组织数据。如果使用CoreData,能自动生成实体类。
V 视图
只关注如何布局,以及各种显示效果。
所有的视图类都继承于UIView,控件类都继承于UIControl
C 控制器
控制模型和视图的显示,业务逻辑都体现在控制器中。
所有控制器都是UIViewController的子类。
posted on 2022-08-06 16:48 MIXTAPE_208 阅读(133) 评论(0) 收藏 举报
浙公网安备 33010602011771号