美文网首页
在Cell中model赋值时进行rx绑定

在Cell中model赋值时进行rx绑定

作者: zaq1125 | 来源:发表于2020-07-27 16:07 被阅读0次

最近学习Rxswift,在cell中,有时候在model赋值时才能进行绑定。因为复用和刷新,则会产生重复绑定,于是需要对disposeBag进行手动管理。在cell即将释放的时候,或者再次赋值前,将其释放。


4531C9A5795D95BB99390429F1A3E71A.jpg

单个Dispose,

private var powerDispose: Disposable?

var model: Your_Model! {
        didSet {
            setBinds(room: roomModel)
        }
    }
    
 private func setBinds(room: SingleRoomViewModel) {
        powerDispose?.dispose()
        powerDispose = model.power.map ({ (value) -> Float in
            let shadowOpacity = value ? 1 : 0
            return Float(shadowOpacity)
        }).bind(to: tempView.rx.shadowOpacity)
    }

相关文章

网友评论

      本文标题:在Cell中model赋值时进行rx绑定

      本文链接:https://www.haomeiwen.com/subject/ypwzlktx.html