小编Vil*_*lyG的帖子

RxSwift中array上的CombineLatest

下面的代码是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
  }
}
Run Code Online (Sandbox Code Playgroud)

reactive-programming swift

1
推荐指数
1
解决办法
2241
查看次数

标签 统计

reactive-programming ×1

swift ×1