在 RxSwift/RxCocoa 2.0.0- beta 3 中,我有一个 ViewModel:
let someString = Variable("")
func isValidSomeString() -> Observable<Bool> {
if someString.value.characters.count == 0 {
return just(false)
}
return just(true)
}
我已经将 someString 绑定到 ViewController 中的文本字段。
每当 someString (或者如果这是更好的方法,可能是文本字段)发生变化时,我希望根据 someString 是否有效启用一个按钮。
我尝试使用“Observable< Bool >”,但开始走另一条路。我可以在 ViewController 中执行此操作:
someViewModel.someString.subscribeNext { text -> Void in
// could just someUIButton.enabled = someViewModel.isValidSomeString(text)
}.addDisposableTo(disposeBag)
难道没有比 isValidSomeString(text) 方法更简洁的另一种方法吗?我们已经通过 isValidLogin 取得了不错的成功,它返回了使用 combineLatest 的 Observable< Bool >。