MVVM笔记
来源:互联网 发布:脉冲信号 计数 单片机 编辑:程序博客网 时间:2024/06/05 11:27
简单的概念就不多说了,都有所了解。没见过也听过。
在面试复习的时候,知道这是什么东西,但是当自己在使用时,出现了无从下手的感觉。
自己记录自己要记得东西,一些具体实施的东西。
ViewModel是通过“绑定”方式与View交互的。
好处:
- 代码复用
- 单元测试
绑定方式:
- 单向数据绑定
- 双向数据绑定
channelTerminal - 集合数据绑定
- 执行过程绑定
- 错误处理
实施步骤:
创建base View中的属性;
创建base ViewModel对应属性的signal;
业务A Model的属性创建(使用mantle进行映射);
A ViewModel 继承baseViewModel,根据业务逻辑(需求),将数据加工并映射的ViewMode的UI属性上。使用RAC的map对A Model的属性进行映射。
网络请求或者其他方式得到的数据(demoModel)。
对应得ViewModel对其获取数据的方法进行绑定,根据不同业务的模型绑定不同的获取方式。
viewController中将刷新数据方式与ViewModel中获取数据的方法进行绑定。
ViewModel中的scenic属性对外不暴露,所以不是一“可变”值,所以这里可以使用
[RACSignal return:scenic]
得到一个一次性的信号。如果对应的scenic属性可能被外部修改,则应使用
RACObserve(self, scenic)
将其转变为信号。
阅读全文
0 0
- MVVM笔记
- wpf mvvm学习笔记
- Android MVVM学习笔记
- 笔记-MVVM模式
- WPF笔记(三)MVVM
- 学习笔记:MVVM模式 ReactiveCocoa 和 MVVM 入门
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- mvvm
- MVVM
- MVVM
- mvvm
- 基于fasttext的情感极性判断模型实现
- Git初使用
- 影响知网论文查重检测价格的因素
- 多线程作业
- eclipse配置win
- MVVM笔记
- NM网络管理
- 每日练习|Day013
- bootstrap fileinput.js扩展-增加对文件名特殊字符过滤
- 用 SpannableString 打造绚丽多彩的 TextView 显示效果
- leetcode 491. Increasing Subsequences 一个典型的深度优先遍历DFS的做法
- Codeforces Round #449 (Div. 2)
- RevitAPI之在墙上创建门(基于宿主)
- Spring Boot Kotlin+maven 打包成war包的方法