При установке заголовков разделов у меня больше шансов использовать пустую строку NSString, которая устанавливается в соответствующем разделе, а затем позже выпустить эту строку после завершения; а также ограничение моего использования вложенных If () Else ().
Я стараюсь, чтобы все было просто и чисто. Конечно, для тех таблиц, где у меня более 3 разделов, я использую оператор «Switch» вместо операторов If ().
Отличительной особенностью этой функции является то, что она вызывается столько раз (количество разделов), сколько у вас есть, и каждый раз будет проходить через код. NSString *sectionHeader=nil;
дает компилятору значение, которое будет возвращено, независимо от того, что встроено в ваши операторы If (). В противном случае вы получите предупреждения, потому что компилятор не выполняет поиск в выражениях If () вашего возвращаемого значения.
Вы также можете инициализировать строку в значение по умолчанию, например, NSString *sectionHeader = @"Default Header Title";
. Если ни один из операторов If () не выполняется, то выделенное значение заголовка по умолчанию останется неизменным во всей функции и, таким образом, будет возвращено как sectionHeader для заголовка.
Базовая структура ниже:
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
//TEMP SECTION STRING HOLDER:
NSString *sectionHeader = nil;
//SET TITLE FOR EACH SECTION:
if(section == 0) {
sectionHeader = @"Section Header No. 1";
}
if(section == 1) {
sectionHeader = @"Section Header No. 2";
}
if(section == 2) {
sectionHeader = @"Section Header No. 3";
}
//RETURN THE SECTION HEADER FOR EACH SECTION:
return sectionHeader;
}