Сожалею. Я смущен тем, что является обязательным в Rxswift. Насколько я знаю, observable
не будут давать значение, если наблюдатель не подписался на него, например myObservable.subscribe(onNext: {})
.
Но когда я прочитал следующую строку кода:
// in LoginViewModel.swift
init() {
isValid = Observable.combineLatest(username.asObservable(), password.asObservable()) { (username, password) in
return !username.isEmpty && !password.isEmpty
}
}
// in LoginViewController.swift
viewModel.isValid.bind(to: loginButton.rx.isEnabled).disposed(by: disposeBag)
Я запутался здесь, почему наблюдаемый isValid
Observable можно наблюдать без вызова метода subscribe
на него?
Почему мы можем просто вызвать bind (to :) в LoginViewController.swift
не вызывая что-то вроде viewModel.isValid.subscribe(...)