RxSwift:如何将Bool转换为ObservableType?

无敌鲨鱼炮
  • 448

需求是这样的:
一个titleTextField、一个descTextField、一个confirmButton和一个submitButton。当titleTextField、descTextField的text长度大于等于5并且confirmButton按钮处于选中状态时,submitButton才可以点击。

我的代码是这样的:

let titleValid = titleTextField.rx.text.orEmpty.map { (text) -> Bool in
    return text.count >= 5
}

let descValid = descTextField.rx.text.orEmpty.map { (text) -> Bool in
    return text.count >= 5
}

let isConfirm = confirmButton.rx.isSelected.asObserver().mapObserver { (selected) -> Bool in
    return selected
}

Observable.combineLatest(titleValid, descValid, isConfirm) { $0 && $1 && $2 }.bind(to: submitButton.rx.isEnabled).disposed(by: disposeBag)

但是isConfirm报错:

Argument type 'AnyObserver<Bool>' does not conform to expected type 'ObservableType'

这个该如何修改?

回复
阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏