UITableView有3个部分 - 直接从函数更新ForRow 0和Section 0

时间:2015-04-18 20:08:29

标签: uitableview swift

我的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()

但是标签没有任何改变。该功能在主类中。

我错了什么?

非常感谢提前。

斯文

2 个答案:

答案 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中,使用该字符串设置您的单元格。