RxSwift方法将UITextView的文本映射并绑定到自定义对象的文本字段?

时间:2015-11-25 12:25:13

标签: swift rx-swift

我知道我可以执行以下操作将更改映射到自定义对象的Notes'文本字段到UITextView。

self.notesViewModel.currentNote()
           .map { $0.text }
           .bindTo(self.notesTextView.rx_text)

如何使用相同的模式进行反向操作?该模式是notesTextView.rx_text,将其映射到当前音符的文本。我知道如何做以下感觉非RxSwift-y:

_ = notesTextView.rx_text.subscribeNext { someText in
    self.notesViewModel.currentNote().value.text = someText
}

IOW,好像我应该能够获取UITextView(也就是notesTextView),映射并将更改绑定到当前注释中。当前注释返回一个带有带有文本字符串字段的注释的变量。

2 个答案:

答案 0 :(得分:11)

您可以使用<->双向绑定运算符。

有一个不错的example in the RxSwift repo,这是一个用法示例:

// bind UI values to variables
usernameOutlet.rx_text <-> username
passwordOutlet.rx_text <-> password
repeatedPasswordOutlet.rx_text <-> repeatedPassword

答案 1 :(得分:0)

我需要在textField和不同类型的变量之间执行此操作,我已经使用元组和闭包作为拉取请求提交了我想出的解决方案:

https://github.com/ReactiveX/RxSwift/pull/559

例如,可以使用相同的方法将Double映射到String。