DetailView показва само един запис на Tableview

Имам Master-Detail Applicaton в Xcode с TableView и SearchDisplayController.
В TableView имам NSArray с 10 записа.
Ако използвам лентата за търсене, DetailView показва правилно записа, върху който съм щракнал на.
Но ако не използвам лентата за търсене и щракна в TableView върху запис, DetailView всеки път ми показва първия запис на TableView.
Какво мога да направя, за да го поправя?

MasterViewController.m: http://i.imgur.com/ZS1Oe.png

MasterViewController.h:

#import <UIKit/UIKit.h>  
@interface DPMasterViewController : UITableViewController  
@property (nonatomic, strong) IBOutlet UITableView *tableView;  
@end  

DetailViewController.m: http://i.imgur.com/AkVJ8.png

DetailViewController.h:

#import <UIKit/UIKit.h>  
@interface DPDetailViewController : UIViewController  
@property (strong, nonatomic) id detailItem;  
@property (strong, nonatomic) IBOutlet UILabel *detailDescriptionLabel;  
@end 

Съжалявам, че използвам снимки, но мисля, че ще ви е по-лесно да проверите. :)
Надявам се, че можете да ми помогнете!
Ако нещо липсва, просто ми кажете.

РЕДАКТИРАНЕ:

В този метод след else всеки път, когато indexPath.row = 0. Не знам как да го поправя :(

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showDetail"]) {
    DPDetailViewController *destViewController = segue.destinationViewController;

    NSIndexPath *indexPath = nil;

    if ([self.searchDisplayController isActive]) { 
        indexPath = [self.searchDisplayController.searchResultsTableView indexPathForSelectedRow];
        destViewController.detailItem = [searchItemList objectAtIndex:indexPath.row];
    } else {
        indexPath = [self.tableView indexPathForSelectedRow];
        destViewController.detailItem = [itemList objectAtIndex:indexPath.row];

    }
  }    
}

person Schlodi    schedule 17.07.2012    source източник
comment
Бихте ли опитали да опишете проблема си малко по-добре? Проблемът в детайлния изглед ли е или в основния изглед?   -  person Dan F    schedule 17.07.2012
comment
В моя MasterView има SearchBar с SearchDisplayController и TableView. Ако търся след запис в TableView (с SearchBar) и щракна върху това, тогава изгледът превключва на DetailView и ми показва етикет с текста от записа. Тази част работи правилно. Но когато не търся с SearchBar (Щраквам върху запис в TableView), изгледът превключва към DetailView и етикетът се показва всеки път, когато текстът от запис номер 1. -› Щраквам върху запис 2 и в DetailView Етикетът показва запис 1   -  person Schlodi    schedule 18.07.2012


Отговори (1)


Изглежда, че не извършвате никакви действия, когато щракнете върху клетка от tableView, която не е част от searchDisplayController, така че опитайте да промените своя метод tableView:didSelectRowAtIndexPath: на

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [self performSegueWithIdentifier:@"showDetail" sender:self];
}
person Sascha    schedule 17.07.2012
comment
Благодаря ви за отговора, но сега приложението се срива и получавам тази грешка: 2012-07-17 22:55:11.532 APP[449:f803] nested push animation can result in corrupted navigation bar 2012-07-17 22:55:11.914 APP[449:f803] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted. 2012-07-17 22:55:11.923 APP[449:f803] Unbalanced calls to begin/end appearance transitions for <DPDetailViewController: 0x6e706f0>. - person Schlodi; 18.07.2012
comment
Как свързахте този преход с вашия tableView във вашия Storyboard? - person Sascha; 18.07.2012
comment
Push Segue от клетка към детайл. --- Идентификатор: showDetail --- Стил: Push - person Schlodi; 18.07.2012
comment
О, добре, в такъв случай отговорът ми е грешен - запазете оригиналния метод tableView:didSelectRowAtIndexPath:. Тогава не знам какво не е наред, съжалявам. - person Sascha; 18.07.2012
comment
Добре благодаря ти. Мисля, че идеята ви беше правилна, защото методът е само за SearchDisplayController. Трябва ли да добавя команда else за нормалния TableView? - person Schlodi; 18.07.2012