UI开发

UI运行机制

决定了程序不是顺序运行的,而是绘制好界面,等待用户输入,然后对输入进行响应。

套路:程序框架已经将外围一切处理好,编程一般只需要编写响应的方法。

利用异步执行的方法,在任务完成完成前,原线程阻塞,会执行下一个任务,在任务完成后,框架会自动调用写好的回调函数来处理善后。

 

视图控制器ViewController

iOS主要通过视图控制器来接收消息处理

UIViewController管理视图的生命周期,视图事件如下:

  1. 视图加载完毕
  2. 视图将显示
  3. 视图已消失
  4. 视图将消失
  5. 视图已消失

每个事件对应一个响应方法,开发要做的是覆盖默认响应方法

 

协议:接口/抽象类,只有方法定义,不实现方法

代理:实现协议的对象

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)    收藏  举报

导航