iOS设计模式--MVC的介绍

MVC(要显示很多很多内容)
 
大略的讲,作为一个iOS程序员来说,首先要了解一个叫做MVC的模式。这个模式定义了Cocoa Touch框架的总体结构。在iOS程序中,我们也需要按照这种模式进行界面代码的编写。这样设计出来的类具有较好的结构,且比较适合于做单元测试。
 
view,有重用机制的显示功能的视图
dataSource:用于获取显示的数据
delegate:时间点,询问
重用队列。
 
 
model,
本地
文件读写(大文件读写要考虑用多线程处理,避免UI卡主)
数据库(增删改查)
coreData
nsuserdefault
网络
http (如何进行多个异步请求)
只有发请求,才会返回数据。
请求:(header file  用来描述所传送的信息)
get,显示发送信息,所有参数都拼接到url上,大小有限制255字节
post,隐式发送信息,所有信息放到body中传送
连结:
同步:接受的数据(data),回应,错误同时。
异步:通过多线程来处理
收到错误
收到回应本质就是header file 用来描述下面数据
收到部分数据:拼接收到数据
完成:对数据进行处理。
解析:
JSON:系统ios5,SBJOSN(nsstring的类目)(返回类型数组或字典);
xml:xmlReader(系统原生,直接返回字典),GData的XPath
socket:时时通讯
TCP:有连接,在连接上以后,发送信息可靠。
缺点,比较耗资源,
传文件的时候。
UDP:无连接,不可靠
优点,节省资源,灵活方面
聊天的时候。心跳验证。
 
controller:协调view和model,处理各种时间点和事件。
 
 
关于MVC的面试题:
 
1、怎么理解MVC,在Cocoa中MVC是怎么实现的?
Model: 代表你的应用程序是什么(不是怎么展现)
Controller: 控制你的Model怎么展现给用户(UI逻辑)
View: Controller的奴隶。。。
Model,Controller,View相互通讯的规则:
  1. Controller可以直接和Model通信
  2. Controller也可以直接和View通信
  3. Model和View永远不能直接通信
  4. iOS中View和Controller的通信是透明和固定的,主要通过outlet和action实现
  5. View使用Delegate接口和Controller同步信息
  6. View不直接和数据通信,使用dataSource接口从Controller处获取数据
  7. View的delegate和dataSource一般就是Controller
  8. Controller负责为View翻译和格式化Model的数据
  9. Model使用Notification & KVO的方式分发数据更新信息,Controller可以有选择的监听自己感兴趣的信息。
  10. View也可以监听广播信息,但一般不是Model发出的信息
  11. 一个完整的App就是很多MVC的集合
 

iOS设计模式--MVC的介绍,布布扣,bubuko.com

iOS设计模式--MVC的介绍

上一篇:Android - UI(User Interface)的基本设计


下一篇:Android布局笔记