2011-06-02 88 views
2

我在的UITableView工作,並試圖讓用戶使用此代碼UITableViewCell和UITableView重複選擇其他單元格?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSInteger row = [indexPath row]; 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    if(cell != nil) 
    { 
     if(cell.accessoryType == UITableViewCellAccessoryNone) 
     { 
      cell.accessoryType = UITableViewCellAccessoryCheckmark; 
     } 
     else 
     { 
      cell.accessoryType = UITableViewCellAccessoryNone; 
     } 
    } 
} 

選擇單元格,但問題是,當在一個頁面中的細胞計數,如果你選擇單元編號1的行號1每個頁面也會被選中。

回答

8
static NSString * cellIdentifier = @"CellIdentifier" 

在這個地方使用

NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%i",indexPath.row]; 
+0

爲什麼第二個答案?你應該編輯你的第一個答案。 – EmptyStack 2011-06-03 08:29:47

+0

謝謝!你能解釋爲什麼這解決了這個問題嗎? – 2012-08-20 13:34:59

+0

你救了我的一天。謝謝。這解決了問題! – birdcage 2016-01-06 07:29:51

5

尼斯的答案,你真的幫把我在正確的軌道上。

我的2美分,收於幫助別人:

我使用分組的表,所以我改變它一點,使它:

NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%i-%i", indexPath.section, indexPath.row]; 

希望這有助於別人。

2

使用這個將全局變量的一個類傳遞給其他類或一個視圖控制器到另一個視圖控制器。

globalString=[Arrayname objectAtIndex:indexPath.row]; 

將此代碼寫入tableviewdidselect委託方法。

相關問題