Вопрос

Я столкнулся с действительно озадачивающейся ошибкой. То первый ряд моего UiableView возвращает 1 и то второй один возврат 0 В индексах! Как это вообще возможно?

В моей `- (void) viewdidload` Все еще хорошо. Я успешно выделяю первый ряд с

currentRow = 0;
[tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:currentRow inSection:0] 
  animated:NO scrollPosition:UITableViewScrollPositionNone];

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

Теперь в моей функции «DIDDESELECTROWATINDEXPATH» у меня есть:

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
...
NSLog(@"IndexPath: %@", [indexPath description]);
}

Журнал показывает следующее:

IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 0] Когда я касаюсь второй ряд иIndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 1] Когда я касаюсь первый ряд.

Там нет строки вставки или удаления или сортировки и т. Д., Не прокручивая. Это простое UiableView, сгруппированный стиль, с 1 секцией и 3 рядами. Что может быть причиной этого?

Спасибо за вашу помощь,
С

Это было полезно?

Решение

Вы реализовали делалДепартаментselectrowatindexpath.. Отказ Он будет уволен, когда ряд больше не выбран.

Когда вы касаетесь второго ряда, первый ряд больше не выбран, Так будет показано [0, 1].
Когда вы снова прикасаетесь к первой строке, вторая строка сейчас больше не выбран, Так будет показано [0, 0].

Они полностью ожидают.

Воплощать в жизнь делалВыбиратьRowatindexpath. Если вам нужно, чтобы ответить, когда ряд выбранный.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    //                                       ^
    ...

    NSLog(@"IndexPath: %@", [indexPath description]);
}

Другие советы

Несмотря на название, перегруженный метод на самом деле didDeselectRowAtIndexPath, Таким образом, звучит так, как поведение правильно - когда 1-й ряд касается, 0-е место становится измененным, и наоборот.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top