title: Problems with Search Display Controller
body: <p>I am learning to use Search Bars a Search Display Controllers in iOS. I made a simple test project with two views, one view contains a UITableView and a UISearchBar, when you select an row from the table view, the new view shows a label with the name of the row. I'm getting a couple of problems, first when I start to add text in the search bar and the search display appears, the search bar is gone. The filtered results are shown, but when I select a row it does not take me to the next view, this only happens when the table is filtered. Here is the code:</p>
  
  <p>ViewController.h</p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  #import "DetailViewController.h"
  
  @interface ViewController : UIViewController &lt;UITableViewDelegate, UITableViewDataSource, UISearchDisplayDelegate, UISearchBarDelegate&gt;
  
  @property (strong, nonatomic) IBOutlet UISearchBar *searchBar;
  @property (strong, nonatomic) IBOutlet UITableView *tableView;
  
  @end
  </code></pre>
  
  <p>ViewController.m</p>
  
  <pre><code>#import "ViewController.h"
  
  @interface ViewController ()
  
  @property (nonatomic, strong) NSArray *objects;
  @property (nonatomic, strong) NSArray *filteredObjects;
  
  @end
  
  @implementation ViewController
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
  
      _objects = [[NSMutableArray alloc] initWithObjects:@"One", @"Two", @"Three", @"Four", @"Five", @"Six", @"Seven", @"Eight", @"Nine", @"Ten", nil];
      _tableView.delegate = self;
      _tableView.dataSource = self;
  }
  
  - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
  }
  
  -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
      return 1;
  }
  
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
      if (tableView == self.searchDisplayController.searchResultsTableView) {
          return [_filteredObjects count];
  
      } else {
          return [_objects count];
      }
  }
  
  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *CellIdentifier = @"Cell";
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
      if (!cell) {
          cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
      }
  
      if (tableView == self.searchDisplayController.searchResultsTableView) {
          cell.textLabel.text = [_filteredObjects objectAtIndex:indexPath.row];
      } else {
          cell.textLabel.text = [_objects objectAtIndex:indexPath.row];
      }
  
      return cell;
  }
  
  - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
  {
      if ([[segue identifier] isEqualToString:@"ToDetail"]) {
          DetailViewController *detailViewController = [segue destinationViewController];
  
          if (self.searchDisplayController.active) {
              NSIndexPath *indexPath = [self.searchDisplayController.searchResultsTableView indexPathForSelectedRow];
              detailViewController.detailString = [_filteredObjects objectAtIndex:indexPath.row];
          } else {
              NSIndexPath *indexPath = [_tableView indexPathForSelectedRow];
              detailViewController.detailString = [_objects objectAtIndex:indexPath.row];
          }
  
      }
  }
  
  - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
  {
      NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@", searchText];
      _filteredObjects = [_objects filteredArrayUsingPredicate:resultPredicate];
  }
  
  -(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
  {
      [self filterContentForSearchText:searchString
                                 scope:[[self.searchDisplayController.searchBar scopeButtonTitles]
                                        objectAtIndex:[self.searchDisplayController.searchBar
                                                       selectedScopeButtonIndex]]];
  
      return YES;
  }
  </code></pre>
  
  <p>Thanks for the help!</p>