Почему метод bindTo RXSwift не работает

Я обновляю ячейку следующим кодом. Когда данные ячейки загружены, сначала ячейка выглядит хорошо, но когда я делаю некоторые изменения в значении свойства «выбрано», «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)
}

person Eric    schedule 01.12.2016    source источник


Ответы (1)


person    schedule
comment
Спасибо за Ваш ответ. Например, когда я изменяю значение свойства «выбрано» с помощью уведомления или другого представления, состояние «selectButton» должно измениться. - person Eric; 01.12.2016
comment
там одна кнопка или по одной на каждую ячейку? - person Daniel Poulsen; 01.12.2016
comment
В каждой ячейке есть кнопка. - person Eric; 02.12.2016
comment
Добавьте фрагмент, который показывает, как вы обновляете выбранное свойство вашей модели. Как я вижу, возможно, ваша кнопка будет обновляться только тогда, когда 'cellForRowAtIndexPath' снова запускается (когда вы прокручиваете таблицу, например, вниз/вверх и обратно в предыдущую позицию). - person marcinax; 16.01.2017