2016-04-27 49 views
0

我有一個TableViewController靜態單元格和節標題。我試着然而打電話indexPath.row,他們不是唯一的。例如IndexPath.row不是唯一的靜態單元格

TableView: 
- Header 1 
    - Cell1 indexPath = 0 
- Header 2 
    - Cell2 indexPath = 0 
    - Cell3 indexPath = 1 
    - Cell4 indexPath = 2 

什麼是獲得唯一標識符行的正確方法?


由於使用該化妝2個細胞具有相同的indexPath

override func tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath? { 
    print(indexPath.row) 

    if indexPath.row != 0 { 
    return indexPath 
    } 

    return nil 
} 

回答

5

你似乎忽略indexPath.section。部分和行的組合唯一地定義索引路徑。行在其部分中是唯一的。

2

NSIndexPath包括rowsectionsectionrow組合是唯一 小區1,你的情況已經indexPath.section == 0indexPath.row == 0 小區2已經indexPath.section == 1indexPath.row == 0

+0

所以例如用於小區2,我應該使用'如果indexPath.section == 1 && if indexPath.section == 0 {}'? – senty

+1

僅供參考 - 'NSIndexPath'的'section'和'row'實際上是'UITableView'提供的擴展。 'UICollectionView'添加'section'和'item'。最初的'NSIndexPath'沒有這樣的屬性。它只有一套索引。 – rmaddy

+1

@senty是的,對於Cell2來說,它將是第1部分,第0行。 – rmaddy

相關問題