1

ReactiveCocoa 5.0 alpha 3、ReactiveSwift、Swift 3 を使用しています

UITextField を MutableProperty にバインドする際に問題が発生しています。

ReactiveCocoa 4 では、これを使用しました:-

extension UITextField {
    func signalProducer() -> SignalProducer<String, NoError> {
        return self.rac_textSignal().toSignalProducer()
            .map { $0 as! String }
            .flatMapError { _ in return SignalProducer<String, NoError>.empty }
    }
}

viewModel.email <~ emailTextField.signalProducer()

しかし、ReactiveCocoa 5 では、それができなくなりました。私が理解していることから、私は私が推測するこのようなことをすることになっています:-

viewModel.email <~ emailTextField.reactive.textValues

しかし、「<~」が未解決であるか、textValues がプロパティではないと表示されます。

これを縛るのを手伝ってください。

4

1 に答える 1

1

<~Rac5のthe は、 BindingTargeta をシグナルにバインドするための関数です。次のように使用できます。

placeHolderLabel.reactive.isHidden <~
        self.reactive
        .values(forKeyPath: #keyPath(passwordTF.text))
        .map({ (value) -> Bool in
            let value = value as! String
            return !value.isEmpty
        })

またはこれ:

let buttonEnabled = MutableProperty<Bool>(false)

button.reactive.isEnabled <~ buttonEnabled

ReactiveSwiftそして、使用するファイルにモジュールをインポートしたことを確認してください<~

于 2016-12-26T05:55:03.783 に答える