我有一个带有静态单元格和节标题的TableViewController。我试着打电话给indexPath.row
但是,它们并不是唯一的。例如
TableView:
- Header 1
- Cell1 indexPath = 0
- Header 2
- Cell2 indexPath = 0
- Cell3 indexPath = 1
- Cell4 indexPath = 2
获取行的唯一标识符的正确方法是什么?
因为使用这个make 2个单元格具有相同的indexPath
override func tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath? {
print(indexPath.row)
if indexPath.row != 0 {
return indexPath
}
return nil
}
答案 0 :(得分:6)
你似乎忽略了indexPath.section
。 section和row的组合唯一地定义了索引路径。一行在其部分中是唯一的。
答案 1 :(得分:2)
NSIndexPath
由row
和section
组成,section
和row
的组合是唯一的
您的案例中的Cell1有indexPath.section == 0
和indexPath.row == 0
Cell2有indexPath.section == 1
和indexPath.row == 0