大佬教程收集整理的这篇文章主要介绍了ios – 使用ReactiveCocoa 4将信号从视图传递到MVVM中的模型,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在这里有什么用,但感觉这只有50%的反应(在任何情况下都不太漂亮):
VIEW(在viewDidLoad中)
originalTextField.rac_textSignal().subscribeNext{ (next:AnyObject!) -> () in let text = next as! String self.viewmodel?.originalText=text }
查看模型
var originalText:string?{ didSet{self.model.originalText=originalText} }
模型
var originalText:string?{ didSet{//Do model stuff} }
我正在使用ReactiveCocoa 4.1.0&雷克斯0.10.0
视图模型:
>为originalText设置MutableProperty
@H_224_5@mutable属性具有您将从视图绑定到的producer属性.使用该绑定,调用originalText.producer.startWithNext将创建一个Signal并添加1个观察者,这样您就可以从viewmodel中接收值
let originalText: MutableProperty<String> = MutableProperty("") func observeTextField(){ originalText.producer.startWithNext { (str) in self.model.originalText = str } }
视图:
添加Rex作为依赖项并导入它.您将使用Rex中的ignoreError来处理类型冲突.
SignalProducer被定义为SignalProducer< T,ErrorType>所以你必须删除ErrorType以匹配你的MutableProperty< String>.
>从文本字段创建信号生成器
>忽略信号生产者的错误
>将信号生成器绑定到viewmodel的MutableProperty
>从步骤3绑定后,从视图中调用viewmodel.observeTextField
中缀<〜运算符将生成器绑定到viewmodel的MutableProperty
import Rex
…
let textFieldProducer = (originalTextField.rac_textSignal() .toSignalProducer() .map {text in text as! String} .ignoreError())! viewmodelInstance.originalText <~ textFieldProducer
我希望这可以帮助你.
以上是大佬教程为你收集整理的ios – 使用ReactiveCocoa 4将信号从视图传递到MVVM中的模型全部内容,希望文章能够帮你解决ios – 使用ReactiveCocoa 4将信号从视图传递到MVVM中的模型所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。