最近在學習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之間溝通的橋梁,它可以分派用戶的請求並選擇 恰當的視圖以用於顯示,同時它也可以解釋用戶的輸入並將它們映射為模型層可執行的操作.