0
点赞
收藏
分享

微信扫一扫

MVVM设计模式(二)

View-Model的连接

连接一:用对应的 view-model 来初始化视图控制器:

链接二:有时你无法在初始化时将 view-model 传入, 比如在 storyboard segue 或 cell dequeuing 的情况下. 这时你应该在讨论中的视图(控制器)中暴露一个公有可写的 view-model 属性.

连接三:我们可以在程序调用前传入 view-model, 比如init和viewDidLoad, 我们可以从view-model 的属性初始化所有 UI 元素的状态.


问题:

当”go” 按钮在什么时候可用了怎么办?

当用户标签和头像在什么时候从网络上下载并填充了怎么办?

当输入框改变时,我们如何更新数据?

惯性思维:

解决问题的思路:

这种方法解决的场景是在只有再文本框发生变化时才会影响 view-model 中的isUsernameValid值. 假使还有其他变量/动作改变isUsernameValid的状态将会怎么样?对于 view-model 中的网络调用会怎么样?或许我们该为 view-model 上的方法加一个完成后回调处理, 这样我们此时就可以更新 UI 的一切东西了?使用珍贵而笨重的 KVO 方法怎么样?


进入ReactiveSwift中

举报

相关推荐

0 条评论