使用未解决运营商的“<〜”(Use of unresolved operator '&

2019-09-28 20:07发布

我使用ReactiveCocoa 5.0阿尔法3,ReactiveSwift和斯威夫特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不是属性。

请帮我绑定此。

Answer 1:

所述<~在RAC5是用于结合的功能BindingTarget与信号,u可以使用这样的:

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中使用文件<~



文章来源: Use of unresolved operator '<~'