TaillookTech

フルスタックエンジニアになる

Swift4 RxSwiftで2つのTextFieldの入力を監視しボタンを制御する

やること

2つのTextFieldの入力を監視し,文字数が両TextField共に1以上のときにボタンを選択可能にする

コード

import RxSwift
import RxCocoa

// viewDidLoad

let textField1: UITextField!
let textField2: UITextField!
let saveButton: UIButton!
Observable.combineLatest(textField1.rx.text.orEmpty.asObservable(), textField2.rx.text.orEmpty.asObservable()){
                $0.characters.count > 0 && $1.characters.count > 0
            }
            .bind(to: saveButton.rx.isEnabled)
            .disposed(by: disposeBag)

こんな感じでできる