iPhone UITableView didSelectRowAtIndexPath всегда возвращает первую выбранную строку

#iphone #uitableview

#iPhone #uitableview

Вопрос:

У меня есть UITableView, в котором есть подробный просмотр, запущенный с помощью navigationcontroller.Если я выбрал строку, она показывает детали после отклонения представления и выбора другой строки, она возвращает саму первую выбранную строку

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

1. Вы уверены, что не реализовали TableView:didDeselectRowAtIndexPath: в отличие от TableView:didSelectRowAtIndexPath: ?

2. Это меня достало, когда я возвращаюсь к методу, который на самом деле был diddeselect, я никогда не знал, что есть делегат diddeselect ха-ха, спасибо

3. @jbat100 большое вам спасибо за то, что указали на то, что было настолько очевидной проблемой для моего кода, но я не мог видеть это прямо передо мной.

Ответ №1:

вы должны использовать приведенный ниже метод делегирования представления таблицы для выбора конкретной ячейки

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  

попробуйте эту ссылку, вы получите больше информации о tableview

http://developer.apple.com/library/IOS/#documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

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

1. я уже использовал этот метод, но все равно он возвращает индекс первой строки

Ответ №2:

освободите старый объект и воссоздайте новый объект детального просмотра в didSelectRowAtIndexPath, потому что он будет использовать старый объект каждый раз, поэтому метод viewdidload не будет работать…

попробуйте это или опубликуйте свои коды…..