RxSwift 的双向绑定 给UILabel 添加 ControlProperty 属性

本文介绍了如何在RxSwift环境中为UILabel添加ControlProperty属性,以实现MVVM架构下的双向绑定。通过让UILabel遵循ControlPropertyType协议,使得在View和ViewModel间可以便捷地进行值的同步更新。
摘要由CSDN通过智能技术生成

在使用RxSwift的时候,ViewMode 与View之间的绑定事件,我们都知道,许多 UI 控件(switch, datePicker, textView, textField)既是可被监听的序列也是观察者,这种特性,我们只需要在View里面绑定一下,ViewModel 即可接收到View值的变化

        self.userViewModel = viewModel
        //初始化input
//        viewModel.loginViewType = self.loginViewType
        viewModel.usernameObservable = accountTextField.rx.text.orEmpty.asObservable()
        viewModel.passwordObservable = passwordTextField.rx.text.orEmpty.asObservable()
        
        //bind data
        accountTextField.rx.text.orEmpty.bind(to: viewModel.username).disposed(by: disposeBag)
        passwordTextField.rx.text.orEmpty.bind(to: viewModel.password).disposed(by: disposeBag)

可是UILable 却不能,通过查看文档,发现

public struct ControlProperty<PropertyType> : ControlPropertyType {
    public typealias E = PropertyType

    let _values: Observable<PropertyType>
    let _val
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值