Запишите отдельную .h
/ .m
/ .xib
для ячейки, а в .xib
установите File's Owner
для класса, в котором вы хотите получить его несколько копий (ваш класс контроллера табличного представления, скорее всего,).Подключите его к IBOutlet
, который вы создали в контроллере табличного представления для новых ячеек.
Затем, каждый раз, когда вы хотите ячейку, попробуйте и dequeueReusableCellWithIdentifier:
на вашем tableView
, и если это не такработать (у вас нет многоразовых), создайте новую ячейку, используя ваш собственный класс, просто загрузив файл пера.Он автоматически создаст экземпляр ячейки и присоединит его к вашему IBOutlet
, а затем просто сохранит ячейку и установит выходной сигнал обратно в ноль для следующего раза, когда вам нужно будет создать ячейку.По сути, я имею в виду это (у меня есть IBOutlet UITableViewCell *cellOutlet
):
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *reuseIdentifier = @"CustomCell";
UITableView *cell = [self.tableView
dequeueReusableCellWithIdentifier:reuseIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"MyCustomTableViewCell"
owner:self options:nil];
cell = cellOutlet;
self.cellOutlet = nil; // autoreleases
cell.reuseIdentifier = reuseIdentifier;
}
// configure the cell here
return cell;
}