最近在学习IOS项目的时候,老师经常提起MVC,在理解的过程中,越来越发现MVC的魅力,MVC:M:Model V:View C:Controller;Model 是用来存储数据的,View 是用来显示的 Controller 是协调 Model 和 View 的中间者。

MVC的作用:

1:分工明确:不用全部写在控制器里,有利于共同开发,提高了工做的效率。

2. 减少耦合性:代码分工明确,降低了相互关联。

3.可重用性提高:功能分开了,只需要简单封装一下,继承或者导入头文件即可。

例如:UICollectionView;

ViewController:

TopCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];

//给对象数据

MovieModel *model = self.data[indexPath.row];   //数据给对象

//获得数据

cell.model = model;

return cell;

Model:根据Json文件写出需要获取的属性类型及名称

@interface MovieModel : NSObject

@property (nonatomic,strong) NSDictionary *rating;

@property (nonatomic,assign) NSInteger collect_count;

@property (nonatomic,strong) NSString *title;

@property (nonatomic,strong) NSString *year;

@property (nonatomic,strong) NSDictionary *images;

View:

.h文件

@class MovieModel;

@interface CollectionViewCell : UICollectionViewCell{

UIImageView *imgVc;

}

@property (nonatomic,strong) MovieModel *model;

.m文件

//需要导入Model的头文件

- (void) setModel:(MovieModel *) model {

_model = model;

//利用model来传值。

}

总结: Model层实现系统中的业务逻辑。 View层用于与用户的交互。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择          恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作.

最新文章

  1. js 也来 - 【拉勾专场】抛弃简历!让代码说话!
  2. ajax 设置同步
  3. Java操作Sqlite数据库-jdbc连接
  4. for循环j = j++ 和 j = ++j
  5. python学习文章
  6. 【BZOJ 1177】【APIO 2009】Oil
  7. LaTeX内容总结
  8. c 函数及指针学习 8
  9. 大四实习准备6_android服务
  10. sharepoint中的YesNo字段
  11. 【xcode插件介绍】Alcatraz ----The package manager for Xcode
  12. [z] .net与java建立WebService再互相调用
  13. win8在安装office visio2003出现“请求的操作需要提升”,解决方法
  14. Echarts学习之路3(在react中使用)
  15. HDU-1398 Square Coins(生成函数)
  16. Vue2开发大全
  17. 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class p
  18. 创建react项目的几种方法
  19. Day6------------复习
  20. 浅谈Session与Cookie的区别与联系

热门文章

  1. c语言文件复制
  2. c读写文件
  3. iOS 圆角图片
  4. js中的正则表达式
  5. Delphi 使用之dll文件生成与调用
  6. 原!!mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
  7. openssl evp 哈希算法(md5,sha1,sha256)
  8. h.SSL协议栈整体分解
  9. Python之路 day2 购物车小程序1
  10. @Scheduled 注解