以下代码由 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
}
}
最佳答案
从 RxSwift-2.0-alpha.1 版本开始支持数组版本的 combineLatest 和 zip。
希望这对您有所帮助。
关于swift - 在 RxSwift 中对数组进行 combineLatest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32216233/