2016-12-15 104 views
1

我使用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不是属性。

请帮我绑定一下。

+0

你想用'<〜'完成什么? –

+0

我只是试图将textfield绑定到mutableproperty。难道我做错了什么? –

+0

您是否将ReactiveCocoa导入您的扩展文件? –

回答

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在您使用<~的文件中。