还是先说一下 MVVM的基础概念吧,不然没法往下说了:
第一个M,和MVC中的M基本一样.但是要求更轻量级.MVC中的M,你可以会放一些和原始数据不相关的推断出来的属性或者工具方法,如Person类,你可能给他写一个方法来根据原始数据年龄来判断是否有资格做某事...,也可以避免一些基础错误,如:自定义的类,如果属性不匹配会编译失败,但是如果使用字典类型,key不匹配时,是不会有任何提示的(用过字典的童鞋,都懂我意思的吧).所以我们此处要:
新增Model: YFCategoryArticleListModel....这里我采用的是一种折中的更具可行性的方案: 我对外暴露的接口是ViewModel,但是对应的会给这个ViewModel提供一个使用Model作为参数的便利初始化方法;控制器或模块内部,就直接使用传入的...添加初始化方法 -initWithArticleModel: 以便于从一个YFArticleModel对象构建视图模型....添加初始化方法 -initWithModel: 用于方便从一个 YFArticleModel 数据模型新建相应的视图模型.