我正在尝试将数据附加到 UITableView。我在这里下载了项目表格,并使用了将数据附加到 tableView 的代码:http: //yannickloriot.com/2016/01/make-uitableview-reactive-with-rxswift/:
首先,我创建了以下变量:
let currentQuestion: Variable<Taxi?> = Variable(nil)
然后我尝试执行以下操作:
currentQuestion
.asObservable()
.bindTo(tableView.rx_itemsWithCellIdentifier("ChoiceCell", cellType: ChoiceCell.self)) { (row, element, cell) in
cell.choiceModel = element
}
.addDisposableTo(disposeBag)
但我收到以下警告:'Extra argument in call' on the line .bindTo
。我尝试添加一个新单元并获得相同的结果。不确定它是否相关,但我已经注册了单元格。
我在这里读到,如果参数的类型不匹配,您会收到此警告:Swift - Extra Argument in call。但是看起来参数匹配得很好。
我是 Rx 的新手,希望有人能帮助我了解这里可能出了什么问题。谢谢。
======
编辑
这是我的新代码。我rx_itemsWithCellIdentifier("ChoiceCell")
独自尝试过rx_itemsWithCellIdentifier("ChoiceCell", cellType: ChoiceCell.self)
:
let currentQuestion = Variable<[Taxi]>(taxis)
currentQuestion.asObservable()
.bindTo(tableView.rx_itemsWithCellIdentifier("ChoiceCell")) {(row, element, cell) in
cell.choiceModel = element
}.addDisposableTo(disposeBag)
在我使用过的地方(出租车),它是一系列出租车项目。见下图:
同样,一旦我调用了 .asObservable(),我就会得到以下信息:
我设法通过删除线将这些打印出来.bindTo
。如果我将该行添加回来,我会得到与以前相同的错误。
重要提示:我使用了之前链接到的文章中的代码库。如果我从 ChoiceCell 中删除,我可以复制相同的错误:
// var choiceModel: ChoiceModel? {
// didSet {
// layoutCell()
// }
// }