RxSwift - кто такой наблюдатель? - PullRequest
0 голосов
/ 18 октября 2018

Я только недавно начал изучать 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 , который действует как наблюдаемый, но я нигде не могу видеть объект-наблюдатель.

Может кто-нибудь, пожалуйста, украсить мой разум?

1 Ответ

0 голосов
/ 18 октября 2018

Наблюдатель в приведенном выше примере - это действительно замыкание , которое вы предоставляете функции subscribe(onNext:).

Конечно, как долго это замыкание будет зависеть, определяется временем жизниваш DisposeBag: когда ваш экземпляр MyClass умирает, bag умирает, и поэтому умирает закрытие.По этой причине вы можете найти людей, называющих ваш экземпляр MyClass «наблюдателем».

...