我们来对比一下 var 以及 Variable 的用法:

    使用 Variable:

    1. let model: Variable<Model?> = Variable(nil)
    2. override func viewDidLoad() {
    3. model.asObservable()
    4. self?.updateUI(with: model)
    5. })
    6. model.value = getModel()
    7. }
    8. func updateUI(with model: Model?) { ... }

    第二种使用 Variable 则是 RxSwift 独有的。Variable 几乎提供了 var 的所有功能。另外,加上一条非常重要的特性,就是可以通过调用 asObservable() 方法转换成序列。然后你可以对这个序列应用,来合成其他的序列。所以,如果我们声明的变量需要提供 Rx 支持,那就选用 Variable 这个类型。