Ash Furrow在FRP演示和使用RxSwift期间演示了以下代码。不幸的是,RxSwift的“combineLatest”运算符只允许最多10个可观察量。我正在寻找一种解决方法来获得相同的结果,而不是在一组可观察量上。
有什么想法吗?
class SignupDemoViewController: UIViewController {
@IBOutlet weak var emailAddressTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var signupButton: UIButton!
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
let emailIsValid = emailAddressTextField.rx_text >- map (isEmail)
let passwordIsValid = passwordTextField.rx_text >- map (isPassword)
combineLatest(emailIsValid, passwordIsValid)
>- and
>- signupButton.rx_subscribeEnabledTo
>- disposeBag.addDisposable
signupButton.rx_tap
>- signup
>- display
>- disposeBag.addDisposable
}
}
答案 0 :(得分:4)
从RxSwift-2.0-alpha.1版本开始支持combineLatest和zip的数组版本。
希望这有帮助。
答案 1 :(得分:2)
现在Observable.combineLatest(array)
代替array.combineLatest
。