RxSwift - 类属性的绑定
Posted
技术标签:
【中文标题】RxSwift - 类属性的绑定【英文标题】:RxSwift - Class property's binding 【发布时间】:2017-04-10 05:46:00 【问题描述】:我有一个关于绑定的问题: 我有一个自定义类的对象数组:Array.每个对象都可以在 bg 中更新(更改他的属性值)。 我还分离了控制器,它从列表中获取并存储一个对象作为变量并可以更新它(对象仍然相同,所以在列表中它也会被更新)
有没有什么办法可以绑定所有object.property -> UILabels on Controller,当属性改变时自动调用标签更新?
【问题讨论】:
【参考方案1】:当然,有多种方法可以做到这一点,但根据你的描述,我会使用某种主题(因为你说背景会有变化,所以你可能需要 hot observable )....例如变量或发布主题。这样你就可以装箱了
let myArrayStream: Variable<[MyObject]> = Variable([])
您可以将此变量作为依赖项传递到您想要的任何地方,一方面您可以订阅它,另一方面您可以更新它的值。
【讨论】:
如果我需要从数组中订阅一个对象,我应该使用Variable<MyObject>
?从数组中传递一个元素时,如下所示:vcProperty: Variable<MyObject> = array.value[index]
?因此,如果我更改 vcProperty.prop,两个订阅者(针对 vcProperty 和数组)都会收到有关此事件的通知,对吗?以上是关于RxSwift - 类属性的绑定的主要内容,如果未能解决你的问题,请参考以下文章
使用 RxSwift 将多个 UITextField 绑定到类道具
RxSwift:当类具有 disposeBag 属性时,始终使用 [unowned self] 是不是安全?