我有一个包含多个标签的自定义单元格的UITableView。在其中一个标签中,我想将行号显示为1、2、3等。我知道我可能可以使用变量来实现这一点,并在每次向表中输入新项时增加它,但我想使用tableView中的indexPath.row
来使代码更干净。
这是我的这类作品,我说kind of
是因为它总是在前两行加上1,所以在理论上是行不通的。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("reusableCell", forIndexPath: indexPath) as! CustomCell
// some other labels here
if indexPath.row == 0 {
let rowCounter = indexPath.row + 1
cell.displayRowNumber!.text = String(rowCounter)
}else{
cell.displayRowNumber!.text = String(indexPath.row)
print(indexPath.row)
}
return cell
}
有什么建议吗?
仅供参考-用户也可以通过滑动删除行。
谢谢
最佳答案
要使逻辑工作,只需将1添加到indexPath.row
。行号将从0增加到n
项。并且,通过向所有迭代添加1,您将获得项计数器(1、2、3、4,…)的结果。。。,n)。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("reusableCell", forIndexPath: indexPath) as! CustomCell
// some other labels here
let rowCounter = indexPath.row + 1
cell.displayRowNumber!.text = String(rowCounter)
return cell
}