cellForRowAtIndexPath no se llama para todas las secciones

Tengo una UITableView que tiene cinco secciones. Al igual que el título describe cellForRowAtIndexPath solo se llama para los primeros cuatro. Todas las conexiones se han realizado con respecto a la fuente de datos y al delegado. Además, my numberOfSectionsInTableView claramente devuelve 5. La printing del número de secciones dentro de cellForRowAtIndexPath muestra el número correcto, confirmando así que cellForRowAtIndexPath simplemente no se llama para todas las secciones. ¿Qué diablos está pasando? Miré bastante duro para get una respuesta a esta pregunta, pero no pude encontrar una. Si esto ya ha sido respondido, perdóname y dirígeme en la dirección correcta.

Mi cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [theTableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } switch (indexPath.section) { case 0: cell.textLabel.text = ticket.description; break; case 1: cell.textLabel.text = ticket.ticketStatus; break; case 2: cell.textLabel.text = ticket.priority; break; case 3: cell.textLabel.text = ticket.customerOfficePhone; break; case 4: { //This never ever gets executed Comment *comment = [ticket.comments objectAtIndex:indexPath.row]; cell.textLabel.text = comment.commentContent; break; } } return cell; } 

Mi numberOfSectionsInTableView:

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 5; } 

Mi numberOfRowsInSection:

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSInteger numberOfRows; if (section == 4) { numberOfRows = [ticket.comments count]; } else { numberOfRows = 1; } return numberOfRows; } 

Cualquier sugerencia es apreciada. Gracias por adelantado.

Ah ah Me lo imaginé. Me había olvidado de que había codificado el marco para mi vista de tabla y lo agregué como una subvista con el desplazamiento deshabilitado a una vista de desplazamiento. Desafortunadamente, tanto la vista de desplazamiento como la vista de tabla eran demasiado pequeñas en términos de altura para mantener la quinta sección, supongo que era la razón por la que se invocaba a cellForRowAtIndexPath para todas las secciones, excepto la quinta. Reajustar la altura de mi vista de tabla y la vista de desplazamiento para ser un poco más grande ha resuelto mi problema.

Considera esto como un comentario. En realidad, no puedo hacer todo esto en el comentario.

EDITAR:

Para [ticket.comments count]; no es cero significa entonces ¿cuál es el conteo ?. Compruebe una condición de if en su cellForRowAtIndexPath: método para imprimir array de ticket.comments solo if section == 4 así.

 if(indexPath.section == 4){ NSLog(@"Ticket Array:%@",ticket.comments); } 

Y otra pregunta:

¿Qué es ticket.comments realidad? Si eso es una matriz, ¿es eso tener un object " Comment " o cualquier otra cosa? Si tiene comment object , intente esto en el caso 4 .

 case 4: { Comment *comment = (Comment *)[ticket.comments objectAtIndex:indexPath.row]; cell.textLabel.text = comment.commentContent; break; } 

Espero que este comentario te ayude.