在Cell中model赋值时进行rx绑定
2020-07-27 本文已影响0人
zaq1125
最近学习Rxswift,在cell中,有时候在model赋值时才能进行绑定。因为复用和刷新,则会产生重复绑定,于是需要对disposeBag进行手动管理。在cell即将释放的时候,或者再次赋值前,将其释放。
![](https://img.haomeiwen.com/i8141163/9e6494cecd99c427.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)
}