2016-12-01 61 views
0

我通过以下代码更新单元格。当单元格的数据被加载时,单元格首先看起来很好,但是当我对'selected'的属性值进行一些更改时,'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) 
} 

回答

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) 
    } 
} 
+0

感谢您的回答。例如,当我通过通知或其他视图更改'selected'属性的值时,'selectButton'的状态应该改变。 – Eric

+0

每个单元有一个按钮还是一个按钮? –

+0

每个单元格都有一个按钮。 – Eric