2014-01-22 215 views
2

基本上我有一個應用程序,您可以在屏幕上滑動一個表格並「刪除」單元格。我的刪除方法是由這家名爲:(這種情況發生在細胞達到在手機上的某個點)UITableView單元格不刪除

[tableCellTrash addObject: [NSIndexPath indexPathForRow:[numbers indexOfObject:[aPanGestureRecognizer view]] inSection:0]]; 

     UITableViewCell *cell = [numbers objectAtIndex:[numbers indexOfObject:[aPanGestureRecognizer view]]]; 
     [self deleteCell: cell]; 

這是刪除細胞方法

-(void)deleteCell: (UITableViewCell *) cell{ 


    [self.tableView beginUpdates]; 
    [numbers removeObject:cell]; 
    [self.tableView deleteRowsAtIndexPaths:tableCellTrash withRowAnimation:UITableViewRowAnimationFade]; 
    [tableCellTrash removeObjectAtIndex:0]; 
    [self.tableView endUpdates]; 


    //[self.tableView reloadData]; 
} 

我不知道什麼是錯的,單元格不會刪除。任何幫助,將不勝感激。

+0

是'numbers'電池陣列或者是數據源?另外,你確定你的tableCellTrash包含正確的索引路徑嗎? – Uxonith

+0

在deleteRowsAtIndexPaths中,tableCellTrash需要是指定要刪除的部分和行的NSIndexPaths的NSArray? tableCellTrash設置在哪裏?它在哪裏? –

+0

您是否驗證過'deleteCell:'被稱爲正確的索引行? – ansible

回答

0

tableviews有一個委託方法來處理刪除的事件:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (editingStyle == UITableViewCellEditingStyleDelete) { 

     [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
    } 
    [tableView reloadData]; 
} 
+0

我沒有使用iOS提供的預定義編輯功能。我的單元格從屏幕上滑落,所以我必須編寫一個自定義檢測器/方法。 – Spenciefy

相關問題