Для перехода из пользовательской uitableviewcell требуется два клика и он не работает должным образом

#ios #iphone #objective-c #uitableview

#iOS #iPhone #objective-c #uitableview

Вопрос:

У меня есть uitableview с пользовательскими uitableviewcells. При попытке выполнить переход из каждой ячейки происходит что-то странное.

Я проследил код с помощью NSLog, чтобы узнать, что происходит (показывает текстовое имя каждой ячейки), и если я щелкаю по ячейке, журнал не отображается, а если я щелкаю в другой ячейке после, в журналах отображается текстовое имя, нажатое ранее в ячейке.

Обратите внимание, что у меня есть много разделов, созданных программно. Итак, у меня много массивов, по одному для каждого раздела. UITableView находится в контейнере.

 - (void) tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{


    switch (indexPath.section) {
        case 0:
            NSLog(@"Cell: %@",[opcionesEstado objectAtIndex:indexPath.row]);
            break;
        case 1:
            NSLog(@"Cell: %@",[opcionesPersonajes objectAtIndex:indexPath.row]);
            break;
        case 2:
            NSLog(@"Cell: %@",[opcionesNoticias objectAtIndex:indexPath.row]);
            break;
        case 3:
            NSLog(@"Cell: %@",[opcionesAjustes objectAtIndex:indexPath.row]);
            break;
        case 4:
            NSLog(@"Cell: %@",[opcionesLogout objectAtIndex:indexPath.row]);
            break;
    }



}
  

Ответ №1:

Проблема в том, что вы используете didDeselectRowAtIndexPath. И вы должны использовать didSelectRowAtIndexPath .

Комментарии:

1. OMGG, глупая ошибка. Большое спасибо! Я этого не видел 🙂