случай 3: альтернативные пользовательские ячейки (то есть нечетные четные)

это один из наиболее часто задаваемых вопросов, но я не смог найти один исчерпывающий ответ. Мне нужно иметь пользовательские ячейки в UITableView. Некоторые содержат метки или текстовые поля, а некоторые с изображениями и кнопками. Я сделал отдельные классы для каждого типа клеток. Я использую таблицу GroupStyle с несколькими разделами. Прямо сейчас я добавляю ячейки в cellForIndexPath с switch-case для секции и if-else для строк в секции:

id cell;
switch(indexPath.section) {
    case 0:
           if(indexPath.row==0) {
               CellA *cell = [[[CellA alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:[NSString stringWithFormat:@"Celld%",indexPath.row]] autorelease];
               //configure cell
               return cell;
           }
           else if(indexPath.row==1) {
               CellB *cell = [[[CellB alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:[NSString stringWithFormat:@"Celld%",indexPath.row]] autorelease];
               //configure cell
               return cell;
           }
           break;
    case 1:
           if(indexPath.row==0) {
               CellC *cell = [[[CellC alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:[NSString stringWithFormat:@"Celld%",indexPath.row]] autorelease];
               //configure cell
               return cell;
           }
           break;
    default:
            break;
}
return cell;

Я должен вернуть ячейку в конце, потому что из-за определения ячеек внутри блоков кода ячейка становится неузнаваемой. Чтобы решить эту проблему, я объявил ячейку с id сверху. Но я знаю, что это не правильный путь. Как я могу решить эту проблему и разрешить проблему с несколькими типами ячеек?

На данный момент есть 4-5 рядов, которые соответствуют одному экрану и не нуждаются в прокрутке. Итак, я не использую клетки повторно. Но больше строк будет втискиваться во время редактирования. А в другой таблице есть еще ряды, которые могут прокручиваться на экране. Это означает, что я должен повторно использовать клетки. Итак, вторая часть моего вопроса: Как я могу использовать несколько пользовательских ячеек?

Ответы на вопрос(2)

Ваш ответ на вопрос