MrLujh / MVVM

MVVM 开发模式
MIT License
42 stars 3 forks source link

MVVM 开发模式

浅谈MVVM

概述 引用自iOS应用架构谈

项目代码结构

image

架构讲解

image

// 模型转换视图模型 MvvmModel -> MvvmModelF

            for (MvvmModel *mvvmModel in arr) {

                MvvmModelF *modelF = [[MvvmModelF alloc] init];

                modelF.model = [MvvmModel mj_objectWithKeyValues:mvvmModel];

                [self.data addObject:modelF];
            }
/*
 问题:
 1.cell的高度应该提前计算出来
 2.cell的高度必须要先计算出每个子控件的frame,才能确定
 3.如果在cell的setStatus方法计算子控件的位置,会比较耗性能

 解决:MVVM思想
 M:模型
 V:视图
 VM:视图模型(模型包装视图模型,模型+模型对应视图的frame)
 */
- (void)setModelF:(MvvmModelF *)modelF
{
    _modelF = modelF;

    //设置卡frame
    self.cellBackView.frame = modelF.cellBackViewFrame;
    self.cellBackView.modelF = modelF;
} 

推荐

应用架构文章

部分来自原创微信公众平台-移动开发前线

MVVM学习文章