OGeek|极客世界-中国程序员成长平台

标题: ios - 使用文本字段设置 rxSwift? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:35
标题: ios - 使用文本字段设置 rxSwift?

我第一次使用 rxSwift,我的 View 中有一个文本字段,我想将其值设置为对应的 viewModels 属性。我有以下代码,但它会引发错误。我在这里错过了什么?

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

问题:

Cannot invoke 'bindTo' with an argument list of type '(String)'



Best Answer-推荐答案


我认为您在 ViewModel 中为 userEmail 使用了 String 类型。您不能将 observable 绑定(bind)到普通字符串。您的 View 模型类型应如下所示:

var userEmail = Variable<String>("")

现在从 ViewController 你可以像这样绑定(bind):

emailTextField.rx.text.orEmpty
    .bind(to: viewModel.userEmail)
    .addDisposableTo(disposeBag)

如果你想使用可选字符串,你也可以这样做:

var userEmail = Variable<String?>(nil)
emailTextField.rx.text.bind(to: viewModel.userEmail)

关于ios - 使用文本字段设置 rxSwift?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45937008/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4