【发布时间】:2012-11-12 15:15:00
【问题描述】:
我创建了一个方法,当用户想要删除一个单元格时更新我的 UITableView。
-(void)removeMoreFriendsRow:(NSNotification *)notification {
NSDictionary *d = [notification userInfo];
NSIndexPath *index = [d objectForKey:@"indexPath"];
[self.p_currentFriends removeObjectAtIndex:index.row];
[self.o_table deleteRowsAtIndexPaths:[NSArray arrayWithObject:index] withRowAnimation:UITableViewRowAnimationRight];
}
p_currentFriends 是一个 NSMutableArray,其中包含 UITableView 打印的所有对象。
这个方法我用一次就很好用,但是用多次就不行了。
看起来 indexPath 在每次调用 deleteRowsAtIndexPaths 时都保持不变。
例如,
- 在第一次调用时,用户点击第二个单元格 indexPath = [0,1] 并删除正确的单元格,
- 在第二次调用时,用户点击第三个单元格和 indexPath = [0,3] 而不是 [0,2]
我发现使它起作用的唯一方法是使用 reloadData 但我想在单元格删除时制作动画。
我该怎么做?
【问题讨论】:
-
p_currentFriends真的是字典还是数组? -
抱歉,它不是 NSDictionary 而是 NSMutableArray。