не используйте статические ячейки.Статические ячейки не предназначены для повторного использования.Со статическими ячейками вы создаете таблицу исключительно в XIB.
Создайте три разные ячейки прототипа и присвойте им другой идентификатор повторного использования и используйте их как обычные ячейки.
Поскольку ваша таблица разбита на разделы, просто используйте информацию раздела indexPath, чтобы получить правильныйклетка.
Примерно так должно работать:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 3;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 1) {
return _objects.count;
}
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = nil;
if (indexPath.section == 1) {
cell = [tableView dequeueReusableCellWithIdentifier:@"SecondCell"];
// configure the mid cells
NSDate *object = [_objects objectAtIndex:indexPath.row];
cell.textLabel.text = [object description];
}
if (indexPath.section == 0) {
cell = [tableView dequeueReusableCellWithIdentifier:@"FirstCell"];
// configure first cell
}
else if (indexPath.section == 2) {
cell = [tableView dequeueReusableCellWithIdentifier:@"ThirdCell"];
// configure last cell
}
return cell;
}
также обратите внимание на свойства tableFooterView
и tableHeaderView
.Возможно, вам вообще не нужны ячейки для первого и последнего элемента.