我想在更新后插入一些部分,但我有相同的元素。我该怎么做?我想在最后一个元素之后插入元素。但是有错误。
我的代码
[self.tableView beginUpdates];
for (WallPost *wp in news) {
if (!_tableDataSource.count || ![_tableDataSource containsObject:wp]) {
[_tableDataSource insertObject:wp atIndex:_tableDataSource.count];
[self.tableView insertSections:
[NSIndexSet indexSetWithIndex:
_tableDataSource.count-1]
withRowAnimation:UITableViewRowAnimationBottom];
}
}
[self.tableView endUpdates];
答案 0 :(得分:2)
我不知道您的确有什么错误,但是您在section
周期中tableView
插入了for
。相反,您应向对象添加对象,然后使用方法tbaleView
使用一组索引重新加载indexSetWithIndexesInRange
中的部分:
int count = 0;
for (WallPost *wp in news) {
if (!_tableDataSource.count || ![_tableDataSource containsObject:wp]) {
[_tableDataSource addObject:wp];
count++;
}
}
if(count > 0) {
[self.tableView beginUpdates];
[self.tableView insertSections:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(_tableDataSource.count-count, count) withRowAnimation:UITableViewRowAnimationBottom];
[self.tableView endUpdates];
}
只是一份报告:
您不需要使用:
[_tableDataSource insertObject:wp atIndex:_tableDataSource.count];
因为你每次都在最后添加对象..所以更喜欢:
[_tableDataSource addObject:wp];