2016-12-01 74 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