2014-01-22 265 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

相关问题