У меня есть приложение Master-Detail в Xcode с TableView и SearchDisplayController.
В TableView у меня есть NSArray с 10 записями.
Если я использую панель поиска, DetailView правильно отображает запись, которую я щелкнул on.
Но если я не использую панель поиска и щелкаю запись в 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
Деталивиевконтроллер.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];
}
}
}