第⼆十四讲:MVC、通知
来源:互联网 发布:淘宝一折特卖网手表 编辑:程序博客网 时间:2024/04/27 23:15
本讲内容
⼀、MVC
MVC
Model - View - Controller即 模型 -视图 -控制器⼲广泛应⽤于各种开发。
MVCModel(模型),存储、处理数据,为应⽤用程序提供数据。例如:通
讯录中的ContactPerson、《⾖豆瓣》中的Activity、Movie等等。View(视图),展⽰示⽤户界面视图,提供⽤户交互,展示模型提供的数据。
例如:系统提供的视图类、⾃定义的视图类等等。
Controller(控制器),控制视图显示,处理用户交互,从模型获取数据展⽰示在视图上。目的是解除模型和视图之间的耦合。
C和V通信
C直接控制V。
例如:在Controller中创建一个UIButton。V向C发起通信的⽅式:
设置View的target/action,例如设置UIButton的target/action。设置delegate,例如设置UITextField、UIAlertView代理。设置dataSource,例如设置UITableView的dataSource。
C负责处理V产生的事件。
C和M通信
C向M提出需求,直接使⽤M提供的数据。M向C发起通信方式:KVO、通知,可以在M发生变化时通知C,C负责读取M提供的数据,负责监控M的变化并进⾏处理。
V和M通信
V和M禁⽌止通信。C负责M和V之间的通信。C从M获取数据,将数据显⽰示在View上。
MVC优势
实现低耦合,减少视图和控制器之间复杂冗余的代码。
提⾼重用性,多个视图可以共享一个模型,多个控制器可以共享一个视图。
更易于维护,M、V、C独⽴立,可以分别处理不同的变化。
⼆、通知
通知
通知模式:一个对象能够给其他任意数量的对象⼲广播信息。对象之间可以没有耦合关系。
NSNotification(通知),封装了要⼲广播的信息。NSNotificationCenter(通知中⼼心),管理注册接收消息对象,⼲广播消
息。observer(观察者),需要监测⼲广播信息的对象,即接收信息的对象。
使⽤方法
接收信息对象在通知中心进⾏行注册,包括:信息名称、接收信息时的处理⽅方法。
对象通过通知中⼼⼲广播信息,包括:信息名称、信息内容。 已经注册过的对象如果不需要接收信息时,在通知中心注销。
使⽤方法
注册: [[NSNotificationCenter defaultCenter]addObserver:注册对象selector:@selector(⽅方法名)name:信息名称object:nil]
注销: [[NSNotificationCenter defaultCenter]removeObserver:注销对象name:信息名称object:nil];
发送信息:[[NSNotificationCenter defaultCenter]postNotificationName:信息名称object:发信息对象userInfo:发送消息时传递的信息];
- 第⼆十四讲:MVC、通知
- slan 十四讲
- 第4讲 The Zend Framework MVC Architecture
- 第二十四讲:异常处理
- 第二十四讲:异常处理
- 第三十四讲项目2.2
- 视觉SLAM十四讲调试
- 《视觉SLAM十四讲》内容摘要
- iOS编程-------MVC、通知
- UI基础-MVC、通知
- Servlet自学第21讲:MVC模式开发的细节讲解
- spring学习笔记十四 五种通知
- Java基础:第三十四讲 包
- JavaSE第七十四讲:自定义异常
- 韩顺平网页设计第四十四讲
- 第二十四讲 主题与皮肤
- 第二十四讲 if语句的嵌套
- 第三十四讲|用循环累加
- Linux串口添加过程
- C#集合类
- HDOJ 5125 magic balls(树状数组优化)
- LINUX高并发后台核心处理应用-01
- linux yum命令详解
- 第⼆十四讲:MVC、通知
- 【问底】李平:大型网站的灵魂——性能
- A sample highlighting QGraphicsEffect
- PLSQL 操作符
- CentOS6.5下安装ActiveMQ
- CentOS安装ftp客户端filezilla
- document.createDocumentFragment()的用法与效率分析
- cocos2dx lua解析csv成lua配置文件,方便程序调用
- 对召回率、准确率、mAP的理解