我有一个UITableView
与±10不同UITableViewCells
来显示有关对象的完整信息(说明单元格,照片单元格等)。因此,当加载UITableView
时,我不需要重用UITableView
个单元格。如果我以某种方式存储UITableViewCells
并阻止cellForRowAtIndexPath
被调用,那么性能会不会更好?如果是这样,实现类似行为的方式是什么?
答案 0 :(得分:1)
首先,如果您要使用UITableView,则无法阻止调用cellForRowAtIndexPath。它是一个UITableViewDataSource函数,它不是一个可选的函数。否则,您将无法填充您的桌面视图。
你可以做的是在cellForRowAtIndexPath中的indexpath.row上使用switch case并返回必要的单元格。
答案 1 :(得分:0)
您可以尝试在Storyboard中增加原型单元格。每个单元格分配新的单元格标识符,您需要保留与故事板匹配其索引的标识符数组。
您的cellForRowAtIndexpath将缩减为:
- (UITableViewCell *)tableView:(UITableView *)tableView1 cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView1 dequeueReusableCellWithIdentifier:[cellIdArray objectAtIndex:indexPath.row] forIndexPath:indexPath];
return cell;
}
注意:将始终调用cellForRowAtIndexpath方法。在上面的例子中,您可以将数据放在故事板中。 检查https://www.appcoda.com/sidebar-menu-swift/
处的类似案例