我有一个表视图单元格的以下类:
class QuestionCell: UITableViewCell {
@IBOutlet weak var questionAnswer: UISwitch!
@IBOutlet weak var questionLabel: UILabel!
var data: Answer?
func configureForQuestion(data: Answer) {
print("configureForQuestion triggered")
questionLabel.text = data.question
self.data = data
}
@IBAction func questionAnswerChanged(sender: UISwitch) {
data?.answer = sender.on
}
}
此单元格由标签和开关组成。目前,当我更改第一行的开关状态时,它也会更改最后一行。似乎没有其他行以这种方式连接。我对这个很难过。
额外信息:
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return answers.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(TableView.CellIdentifiers.QuestionCell, forIndexPath: indexPath) as! QuestionCell
cell.configureForQuestion(answers[indexPath.row])
return cell
}
答案 0 :(得分:0)
可能是您的answers
数组没有您期望的数据。在调试器中打印answers
的值,看看每个answer
是否具有您期望的indexPath.row
。
您能否在answers
?
答案 1 :(得分:0)
您需要覆盖单元格中的prepareForReuse并重置ui元素数据。
m