MVVM笔记

来源:互联网 发布:脉冲信号 计数 单片机 编辑:程序博客网 时间:2024/06/05 11:27

简单的概念就不多说了,都有所了解。没见过也听过。

在面试复习的时候,知道这是什么东西,但是当自己在使用时,出现了无从下手的感觉。

自己记录自己要记得东西,一些具体实施的东西。

ViewModel是通过“绑定”方式与View交互的。

好处:

  • 代码复用
  • 单元测试

绑定方式:

  1. 单向数据绑定
  2. 双向数据绑定
    channelTerminal
  3. 集合数据绑定
  4. 执行过程绑定
  5. 错误处理

实施步骤:

  1. 创建base View中的属性;

  2. 创建base ViewModel对应属性的signal;

  3. 业务A Model的属性创建(使用mantle进行映射);

  4. A ViewModel 继承baseViewModel,根据业务逻辑(需求),将数据加工并映射的ViewMode的UI属性上。使用RAC的map对A Model的属性进行映射。

  5. 网络请求或者其他方式得到的数据(demoModel)。

  6. 对应得ViewModel对其获取数据的方法进行绑定,根据不同业务的模型绑定不同的获取方式。

  7. viewController中将刷新数据方式与ViewModel中获取数据的方法进行绑定。

  8. ViewModel中的scenic属性对外不暴露,所以不是一“可变”值,所以这里可以使用[RACSignal return:scenic]得到一个一次性的信号。

  9. 如果对应的scenic属性可能被外部修改,则应使用RACObserve(self, scenic)将其转变为信号。