我有一个包含部分的表格视图。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return numberHigherThen0;
}
在cellForRowAtIndexPath方法中的我根据
部分设置我的行- (UITableViewCell *)tableView:(UITableView *)aTableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (0 == indexPath.section) {
//setup rows
} esle {
//setup rows
}
}
部分中的部分和行数会动态变化。但是部分的数量总是>所以在cellForRowAtIndexPath indexPath.section == 0中总会有这种情况,对吧?但有些时候cellForRowAtIndexPath没有传递case index.section == 0!为什么?什么时候可以呢?当cellForRowAtIndexPath可以从1开始计算节?
更新: 第2节没有行
答案 0 :(得分:1)
在 numberOfSectionsInTableView:中指定部分的数量 - 但是,这些部分的编号为 0 。
因此,如果你在 numberOfSectionsInTableView 中返回3,你将有三个部分 - 第0部分,第1部分和第2部分。
答案 1 :(得分:0)
tableView:cellForRowAtIndexPath:
。
因此,如果您的应用程序启动时第0部分可见,是的,您应该至少拨打一次部分== 0的电话。在后续刷新中,如果UITableView认为不需要刷新它,则可能会跳过第0部分。这可能就是你所看到的。
使用reloadRowsAtIndexPaths:withRowAnimation:
或reloadSections:withRowAnimation:
等告诉UITableView行已更改且需要刷新它。