Старайтесь хранить как можно меньше типов клеток. Если одна ячейка типа похожа на другую, но с одной или двумя дополнительными метками, просто установите ее в одной и той же ячейке и оставьте метки пустыми в ячейке, которая им не нужна. Таким образом, они могут быть в одной очереди повторного использования. Если ячейки достаточно разные, вам может понадобиться больше очередей. Просто создайте их экземпляр с другим cellIdentifier
, и они будут добавлены в очередь для этого идентификатора.
например.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell;
if(indexPath.row == 0) {
cell = [tableView dequeueReusableCellWithIdentifier:@"firstRowCell"];
if(!cell) {
cell = [[UITableViewCell alloc] inittWithFrame:CGRectZero reuseIdentifier:@"firstRowCell"];
}
// -- first cell setup
} else {
cell = [tableView dequeueReusableCellWithIdentifier:@"genericRowCell"];
if(!cell) {
cell = [[UITableViewCell alloc] inittWithFrame:CGRectZero reuseIdentifier:@"genericRowCell"];
}
// -- generic cell setup
}
// -- common cell setup
return cell;
}