Encadernação bidirecional no RxSwift
Eu li o operador de ligação bidirecional no código de exemplo do RxSwift.
func <-> <T>(property: ControlProperty<T>, variable: Variable<T>) -> Disposable {
let bindToUIDisposable = variable.asObservable()
.bindTo(property)
let bindToVariable = property
.subscribe(onNext: { n in
variable.value = n
}, onCompleted: {
bindToUIDisposable.dispose()
})
return StableCompositeDisposable.create(bindToUIDisposable, bindToVariable)
}
Quandoproperty
alterado, notificará a variável e definirá o valor da variável, enquanto o valor da variável estiver definido, notificará a propriedade. Eu acho que vai levar a loop infinito ...