最近在学习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之间沟通的桥梁,它可以分派用户的请求并选择 恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作.