Я создал новый проект (приложение Xcode 4, приложение Master-Detail), чтобы увидеть, что я делаю что-то неправильно, но у меня все еще такая же проблема. Я хочу вызвать -reloadData
, когда пользователь отменяет выбор ячейки, поэтому это мой код:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSLog(@"%s", __PRETTY_FUNCTION__);
}
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __PRETTY_FUNCTION__);
[tableView reloadData];
}
-(NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __PRETTY_FUNCTION__);
return indexPath;
}
Проблема заключается в том, что didDeselectRowAtIndexPath
и willDeselectRowAtIndexPath
, кажется, не вызываются. Это ожидаемое поведение? Документы для tableView:didDeselectRowAtIndexPath:
state
Сообщает делегату, что указанная строка теперь не выбрана.
поэтому я думаю, что он должен работать, как я думал.