我最近才刚开始学习Rxswift。从那以后,有一个问题一直困扰着我。以以下代码段为例:
class MyClass {
var v = Variable("")
var bag = DisposeBag()
func subscribe() {
let ob = v.asObservable()
ob.subscribe(onNext: { (value) in
print("Value changed: " + value)
}).disposed(by: bag)
}
}
让我感到困扰的是,在 subscribe()方法的情况下,真正的观察者在哪里?在对象方面,这里有 ob ,它充当可观察对象,但是我在任何地方都看不到观察者对象。
有人可以让我高兴吗?
答案 0 :(得分:0)
上面示例中的观察者实际上是您为subscribe(onNext:)
函数提供的闭包。
当然,闭包保留的时间取决于DisposeBag
的生存期:MyClass
实例死亡时,bag
死亡,因此闭包死亡。因此,您可能会发现有人称MyClass
实例为“观察者”。