我尝试使用方法cellForRow(at:IndexPath)从TableView恢复单元格,但编译器似乎不喜欢这种方法,因为它不会让我调用它: S
http://imgur.com/aVhpXr5(暂不发布图片)
以下是相关代码的片段:
if let i = self.data.index(of: snapshot.value as! String) {
self.data[i] = snapshot.value as! String
self.tableView.cellForRow(at: i).textLabel!.text = "Modd"
self.tableView.cellForRow(at: [IndexPath(row: i, section: 0)])!.textLabel!.text = "mod"
}
else {
print("Modified an item that wasn't in the data list")
}
如果编译器不同时接受这两种方法,我该如何调用该方法?
答案 0 :(得分:3)
您的第二个语句的问题是您将创建的indexPath添加到数组中。
使用以下代码:
self.tableView.cellForRow(at: IndexPath(row: i, section: 0))
答案 1 :(得分:0)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell:UITableViewCell
if let i = self.data.index(of: snapshot.value as! String) {
self.data[i] = snapshot.value as! String
cell = tableView.cellForRow(at: indexPath)!
cell.textLabel!.text = "Modd"
}
else {
print("Modified an item that wasn't in the data list")
}
return cell == nil ? UITableViewCell() : cell
}