title: UISearchDisplayController and custom cell
body: <p>I have implemented a UISearchDisplayController in the UITableViewController. The search is working, but the UISearhDisplayController creates a new tableView with a standard cell, and my tableView is using a custom cell. Another problem is that I use a segue:</p>
  
  <pre><code>- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
  </code></pre>
  
  <p>and the cells in searchResultsTableView are not triggering the segue.. </p>
  
  <p>How to display the search results with custom cell and segue working?</p>
  
  <p>This is the codes:</p>
  
  <pre><code>...
  
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
  if (tableView == self.searchDisplayController.searchResultsTableView){ 
  return [nameFilteredObj count];
  } else {
  return [sortedObj count];
  }}
  
  - (CustomCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
  static NSString *CellIdentifier = @"customCell";
  
  CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  
  if (cell == nil) {
  cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
  }
  if (tableView == self.searchDisplayController.searchResultsTableView)
  {
  cell.textLabel.text = [[sortedObj objectAtIndex:indexPath.row] valueForKey:@"Name"];
   } else {
  cell.nameLabel.text = [[sortedObj objectAtIndex:indexPath.row] valueForKey:@"Name"];
  cell.countryLabel.text = [[sortedObj objectAtIndex:indexPath.row] valueForKey:@"Country"];
  cell.bottleImageView.image = [UIImage imageNamed:[[sortedObj objectAtIndex:indexPath.row] valueForKey:@"Image"]];
  } 
  return cell; 
  }
  
  //The codes for filtering the results and update of searchResultsTableView (not necessary for this question I think):
  
  - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
  {
  [nameFilteredObj removeAllObjects];
  
  for(NSDictionary *obj in sortedObj)
  {
  NSString *objName = [obj objectForKey:@"Name"];
  NSRange range = [objName rangeOfString:searchText options:NSCaseInsensitiveSearch];
  if (range.location != NSNotFound) {
      [nameFilteredObj addObject:obj];
  }}}
  
  - (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
  {
  [self filterContentForSearchText:searchString scope:
   [[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];
  return YES;}
  
  - (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption
  {
  [self filterContentForSearchText:[self.searchDisplayController.searchBar text] scope:
   [[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:searchOption]];
  return NO;}
  ...
  </code></pre>
  
  <p>I'm using Storyboard as interface.</p>