我有一个包含多个标签的自定义单元格的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
}

08-05 23:49