监听普通变量值的变化

  • 方法一 (KVO)

_ = self.tableView.rx.observe(CGPoint.self, "contentOffset")
            .subscribe(onNext: { offset in
                print(offset as Any)
            })
  • 方法二 (Variable)

var rx_intVar: Variable = Variable(0)

var intVar: Int {
    get {
        return rx_intVar.value
    }
    set {
        rx_intVar.value = newValue
    }
}

rx_intVar.asObservable()
            .subscribe(onNext: { (num) in
                print(num)
            }, onError: { (err) in
                print(err)
            }, onCompleted: {
                print("complete")
            }) {
                print("dispose")
        }.disposed(by: disposeBag)

参考文章:Swift - RxSwift的使用详解64(键值观察KVO的使用)
RxSwift 中监听对象属性改变的方式小结:rx_observe, PublishSubject 和 Variable

你可能感兴趣的:(监听普通变量值的变化)