帮助在TableView中插入新节

时间:2009-03-30 15:25:12

标签: iphone ios cocoa-touch uitableview insert

每个人都在写关于删除部分的内容。好吧,我似乎无法添加一个。

目前,我正在尝试这样做(因NSInternalInconsistencyException失败):

UITableView *tv = (UITableView *) self.tableView;

if ([tv numberOfSections] == 1)
{
     [tv beginUpdates];
     [tv insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationTop];

     NSLog(@"Inserted.. Brace for impact.");
     [tv endUpdates];
}

NSLog(@"Section count after update: %d", [tv numberOfSections]); // Never reached

如果我是正确的,插入索引为0的部分应该将其放在顶部,将所有其他部分向下撞击,对吧?好吧,如果我在insertSections之后立即写出numberOfSections,那么部分的数量似乎没有变化。

有什么想法吗?

约翰

3 个答案:

答案 0 :(得分:3)

是的,谢谢你们两位。

经过一番杂耍,我终于成功了。这是你的两个建议的组合。从未插入新数据,但我也不必增加插入的第一个项目的行数,而只需增加第二个项目。

答案 1 :(得分:2)

您是否也更新了数据源?您不仅可以在不更新基础数据的情况下更新表视图。

答案 2 :(得分:2)

您需要更新numberOfSectionsInTableView类的UITableViewDataSource消息。