2010-09-08 94 views
0

我想从UITableView删除一行。 我的UITableView由名为TableDataNSMutableArray填充。 当我删除一行并重新加载tableview时,它显示最后一行已被删除[而不是所选行]。 但是,当我NSLog()可变数组的内容,它表明选定的行已被删除。UITableView删除不起作用

这是我的代码:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (editingStyle == UITableViewCellEditingStyleDelete) { 
     [TableData removeObjectAtIndex:indexPath.row]; 
     [tableView reloadData]; 

     for (int i = 0; i < [TableData count]; i++) 
     { 
      NSLog(@"Value at %d :%@", i, [TableData objectAtIndex:indexPath.row]); 
     } 
    } 
} 
+0

作为Objective-C约定的问题,变量的第一个字母应该是小写,而不是大写(re:你的'TableData'变量) – 2010-09-08 19:18:43

+0

好的,谢谢。我会纠正它。 – 2010-09-08 21:43:20

回答

2

不要叫reloadData而是叫[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];

+0

您的代码正常工作。谢谢 – 2010-09-08 19:21:43

+0

没问题 - 很高兴我可以帮忙;) – jrtc27 2010-09-08 19:22:24