OC语言的MVC架构理解

如果可以的话,我希望最近每周能更新两篇关于架构的东西。

从最基础的MVC开始

M:

通常谈论模型,认为模型是数据的载体,Model == Data.

在某些其他语言当中可能是这样的,但是在OC中,Model更适合作为一个数据结构来使用。

不参与任何处理,只是一个基于NSObject的类,在.h中定义了所需要的key,value。如果服务端传来的key描述不准确,可以在.m中使用MJ_Extention中对于NSObject的分类对key名称进行更改。

V:

通常是争议最小的一个部分,绘制UI,接收用户操作,接收控制器的操作,就这些了。虽然view与data联系最为紧密,但是这些data都是引用的。view可能有一些自己的属性,但是这些属性一定是与业务无关的。

view可以引用data,但是不能改变data。任何在view中操作data的处理都将导致数据混乱。

C:

控制器最主要的事情有两个

1.加载view,传data给view

2.加载data,改变data

除了这两个之外,他还有处理事件,监听等一些其他乱七八糟的操作,当控制器变得庞大以后,从乱七八糟的东西开始,将这些东西分离出去。

你可能感兴趣的:(OC语言的MVC架构理解)