UITableView删除不起作用
问题描述:
我想从UITableView
删除一行。 我的UITableView
由名为TableData
的NSMutableArray
填充。 当我删除一行并重新加载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]);
}
}
}
答
不要叫reloadData
而是叫[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
。
+0
您的代码正常工作。谢谢 – 2010-09-08 19:21:43
+0
没问题 - 很高兴我可以帮忙;) – jrtc27 2010-09-08 19:22:24
作为Objective-C约定的问题,变量的第一个字母应该是小写,而不是大写(re:你的'TableData'变量) – 2010-09-08 19:18:43
好的,谢谢。我会纠正它。 – 2010-09-08 21:43:20