最近学习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)
}
网友评论