为什么RXSwift的方法bindTo失败了

时间:2016-12-01 03:53:58

标签: swift tableviewcell rx-swift

我通过以下代码更新单元格。当加载单元格的数据时,单元格首先看起来很好,但是当我对'selected'的属性值进行一些更改时,'bindTo'没有效果?为什么呢?

  

MyController.swift

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var model = xxxxxxxxx
    cell.setModel(model)
}
  

MyTableViewCell.swift

var model = PublishSubject<MyClass>()

func setModel(newModel: MyClass) {
   self.model.onNext(newModel)
}

override func awakeFromNib() {
   super.awakeFromNib()
   // Initialization code
   self.setup()
}

func setup() {
   model.map{$0.selected}
        .bindTo(selectButton.rx_selected)
        .addDisposableTo(disposeBag)
}

1 个答案:

答案 0 :(得分:0)

MyTableViewCell.swift:
let model = Variable(MyClass())
 func setModel(newModel: MyClass) {
        self.model.value = newModel
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        self.setup()
    }

    func setup() {
        model.map{$0.selected}.bindTo(selectButton.rx_selected).addDisposableTo(disposeBag)
    }
}