如何从 tableView 中获取索引号:cellForRowAtIndexPath:使用`indexPath` 参数?

Bla*_*ard 0 uitableview nsindexpath ios swift

我想更改 的backgroundColorUITableViewCell因此想要获取每个表视图单元格的索引号,因为我还想更改这些单元格相对于其索引号的颜色。

但是,如何从内部获取索引号tableView: cellForRowAtIndexPath:?例如,在以下代码中(在 内tableView: cellForRowAtIndexPath:):

let numberOfCell = indexPath.length // always returns 2, even if I add more cells
println(indexPath) // returns <NSIndexPath: 0xc000000000000016> {length = 2, path = 0 - 0}
for i in 0..<numberOfCell {
    let alpha = CGFloat(1.0 - Double(i) / 10.0)
    cell.backgroundColor = UIColor(red: 227/256, green: 245/256, blue: 61/256, alpha: alpha)
}

return cell
Run Code Online (Sandbox Code Playgroud)

我想alpha根据索引号更改每个单元格的值,但上面的代码使所有单元格的值都alpha1.0,因为numberOfCell始终是2,即使我的表视图有四个对象。我不确定为什么它总是返回2。我添加了更多单元格,但结果没有改变。

那么为什么它会返回2以及如何获得每个索引的正确值?我想要得到的是0第一个单元格,1第二个单元格,2第三个单元格,然后继续。

我还尝试访问path索引路径的属性,如上面的输出println(indexPath)所示,但由于某些原因NSIndexPath没有这样的属性......

reg*_*cob 5

尝试,indexPath.row或者,如果您也在使用部分,请indexPath.section另外尝试。:)