Ios 使用文本字段设置rxSwift?

Ios 使用文本字段设置rxSwift?,ios,swift,rx-swift,Ios,Swift,Rx Swift,我第一次使用rxSwift,我的视图中有一个文本字段,我想将其值设置为对应的viewModels属性。我有以下代码,但它会抛出错误。我错过了什么 self.loginView.emailTextField.rx.text .bindTo(self.loginViewModel.userEmail) .addDisposableTo(self.disposeBag) 问题: 无法使用类型为“(字符串)”的参数列表调用“bindTo” 我认为您在Vi

我第一次使用rxSwift,我的视图中有一个文本字段,我想将其值设置为对应的viewModels属性。我有以下代码,但它会抛出错误。我错过了什么

self.loginView.emailTextField.rx.text
            .bindTo(self.loginViewModel.userEmail)
            .addDisposableTo(self.disposeBag)
问题:

无法使用类型为“(字符串)”的参数列表调用“bindTo”


我认为您在ViewModel中对userEmail使用了字符串类型。您不能将可观察的绑定到普通字符串。您的视图模型类型应如下所示:

var userEmail = Variable<String>("")
emailTextField.rx.text.orEmpty
    .bind(to: viewModel.userEmail)
    .addDisposableTo(disposeBag)
var userEmail = Variable<String?>(nil)
emailTextField.rx.text.bind(to: viewModel.userEmail)
此外,如果要使用可选字符串,也可以这样做:

var userEmail = Variable<String>("")
emailTextField.rx.text.orEmpty
    .bind(to: viewModel.userEmail)
    .addDisposableTo(disposeBag)
var userEmail = Variable<String?>(nil)
emailTextField.rx.text.bind(to: viewModel.userEmail)
var userEmail=变量(nil)
emailTextField.rx.text.bind(收件人:viewModel.userEmail)

用户电子邮件是普通字符串吗?无法将可观察对象绑定到普通基本体类型扫描是否显示视图模型?类型“Binder”的值没有成员“bind”