我的UITableView中有3个部分。第一个具有样式右侧详细信息样式,只有1行。第二个和第三个具有Custome样式和动态行。
我想在第一部分更新一个函数中的detailTextLabel。
let idx = NSIndexPath(forRow: 0, inSection: 0)!
var cell = self.tableView.dequeueReusableCellWithIdentifier("CellServerStatus", forIndexPath: idx) as! UITableViewCell
cell.detailTextLabel?.text = "Connected"
self.tableView.reloadData()
但是标签没有任何改变。该功能在主类中。
我错了什么?
非常感谢提前。
斯文
答案 0 :(得分:1)
您只更改单元格的标签,然后调用reloadData()
,它会立即从表格的数据源中检索原始值。
您需要更改数据源中的值。
答案 1 :(得分:-1)
您所做的不是在屏幕上更新tableView的内容,而是修改不在表格视图中的单元格。
您有两个选择:
直接修改:
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
if let cell = self.tblMain.cellForRowAtIndexPath(indexPath) {
//do your work with cell
}
reloadData
,然后在回拨cellForRowAtIndexPath
中,使用该字符串设置您的单元格。