didSelectRowAtIndexPath возвращает неправильный IndexPath

Я столкнулся с действительно загадочной ошибкой. первая строка моего UITableView возвращает 1 , а вторая одна возвращает 0 в 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: 2 indexes [0, 0] , когда я касаюсь второй строки, и

Я обнаружил действительно загадочную ошибку. первая строка моего UITableView возвращает 1 , а вторая одна возвращает 0 в 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: 2 indexes [0, 0] , когда я касаюсь второй строки, и

Я обнаружил действительно загадочную ошибку. первая строка моего UITableView возвращает 1 , а вторая одна возвращает 0 в 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: 2 indexes [0, 0] , когда я касаюсь второй строки, и первая строка моего UITableView возвращает 1 , а вторая одна возвращает 0 в 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: 2 indexes [0, 0] , когда я касаюсь второй строки, и первая строка моего UITableView возвращает 1 , а вторая одна возвращает 0 в 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: 2 indexes [0, 0] , когда я касаюсь второй строки, и IndexPath: 2 индекса [0, 1] , когда я касаюсь первой строки.

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

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

70
задан Mundi 7 November 2010 в 18:14
поделиться