Вы также можете вернуть количество записей, которые содержат данные из
numberofSectionsInTableView:
метод и использовать
switch(indexPath.section)
где вы позволяете пустым записям «прорваться» к следующему переключателю, например:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.section) {
case 0:
return <header cell>;
break;
case 1:
if(firstRecordHasData){
return <second cell>;
break;
}
case 2:
if(secondRecordHasData){
return <second cell>;
break;
}
case 3:
return <some other cell>;
break;
default:
return <a regular cell>;
break;
}
}
Я боролся с этим некоторое время, потому что мне пришлось пропустить разделы в середине сгруппированной таблицы. Попытка установить высоту ячеек, верхнего и нижнего колонтитула 0.0, но это не сработало. Не удалось просто удалить определенные разделы из-за вызванных методов в зависимости от выбранной строки. Это было бы огромным, если ... иначе, если ... еще, если бы с несколькими вызовами подпрограмм.
Рад, что подумал о старом добром методе переключения, может быть, он вам тоже поможет: -)