1

这是我的代码:

    let aDisposeBag = DisposeBag()
    class LoginController: NSViewController {
    @IBOutlet weak var accountField: NSTextField!
    @IBOutlet weak var passwdField: NSSecureTextField!
    @IBOutlet weak var loginBtn: NSButton!
    override func viewDidLoad() {
        super.viewDidLoad()
        let accAvailable = accountField.rx_text.map({(aa)-> Bool in
            print("aa")
            return aa.characters.count > 0
        })

        let passAvailable = passwdField.rx_text.map({(aa)-> Bool in
            print("bb")
            return aa.characters.count > 0
        })

        let allAvailable = Observable.combineLatest(accAvailable, passAvailable){$0 && $1}
        allAvailable.bindTo(loginBtn.rx_enabled).addDisposableTo(aDisposeBag)

    }
}

当我在 accountField 中输入内容时,控制台中不会打印任何内容。

但是如果我替换allAvailable.bindTo(loginBtn.rx_enabled).addDisposableTo(aDisposeBag)

allAvailable.subscribeNext { (available) in
            print(available)
        }.addDisposableTo(aDisposeBag)

然后我可以看到aabb打印在控制台中。任何人都可以告诉我的代码有什么问题,非常感谢!

4

0 回答 0