Я столкнулся с действительно загадочной ошибкой. первая строка моего UITableView возвращает и второй один возвращает в indexPath! Как это вообще возможно?didSelectRowAtIndexPath возвращает неверный IndexPath
В моем `- (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]
, когда я прикасаюсь к первый ряд.
Не существует вставки или удаления строк или сортировки и т. Д., Даже не прокрутки. Это простой UITableView, сгруппированный стиль, с 1 секцией и 3 строками. Что может быть причиной этого?
Спасибо за вашу помощь,
S
Хех - Я пропустил это, когда сам прочитал вопрос. :-) Это похоже на отсутствие слова «the», когда оно используется дважды. ;-) –
Я просто сделал это тоже. Как расстраивает. Intellisense отличная 99,9% времени, но это еще 1,1% ... вау. – swilliams
Я просто потратил несколько часов, пытаясь понять, что iOS звонит мне с той строкой, которую я выбрал ранее. Я все пробовал. Удивительно, какая разница из нескольких букв. Тайна решена. – 2013-03-17 23:50:55