Имам 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];
}
}
}