UISearchController anzeige der gefilterten Ergebnisse scheitert

  • UISearchController anzeige der gefilterten Ergebnisse scheitert

    Hallo,
    ich versuche im Moment zum ersten mal den UISearchController zu verwenden und habe dabei aktuell ein Problem wo ich nicht direkt weiter weiß.

    Ich habe einen TableViewController mit einem Array in dem Daten gespeichert sind welche in dem TableViewController angezeigt werden.
    In diesem TableVC habe ich nun den UISearchController integriert mit einem weiteren TableVC als ResultController.

    Quellcode

    1. CustomerSearchResultTableViewController *theCustomerSearchResultTableViewController = [[CustomerSearchResultTableViewController alloc] init];
    2. self.searchController = [[UISearchController alloc] initWithSearchResultsController:theCustomerSearchResultTableViewController];
    3. self.searchController.searchResultsUpdater = self;
    4. self.tableView.tableHeaderView = self.searchController.searchBar;
    5. self.definesPresentationContext = YES;



    In der Methode updateSearchResultsForSearchController:(UISearchController *)searchController habe ich dann meine Filterung des Arrays, welche augenscheinlich auch richtig filtert, nur die Übergabe an den ResultTableViewController funktioniert nicht.


    Quellcode

    1. CustomerSearchResultTableViewController *theCustomerSearchResultTableViewController = (CustomerSearchResultTableViewController *)self.searchController.searchResultsController;
    2. theCustomerSearchResultTableViewController.theSearchResults = theSearchResultArray;
    3. [theCustomerSearchResultTableViewController.tableView reloadData];


    Dort erhalte ich jedes mal die Fehlermeldung das der Cell Identifier nicht gefunden werden konnte, welcher aber im Storyboard gesetzt ist.


    Quellcode

    1. *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier Cell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'


    Jetzt meine Frage ob ich generell das Prinzip des SearchControllers nicht richtig verstanden habe oder wo der Fehler liegen könnte?
  • Du konfigurierst den UISearchController so, dass das Suchergebnis durch einen CustomerSearchResultsTableViewController angezeigt wird. Deine Zellen sind im Storyboard für den TableView des „normalen“ TableViews registriert. Dein CustomerSearchResultTableViewController hat seine eigene TableView, für die eben keine Zellen registriert sind. Das musst du dann halt noch machen.
  • Michael schrieb:

    Du konfigurierst den UISearchController so, dass das Suchergebnis durch einen CustomerSearchResultsTableViewController angezeigt wird. Deine Zellen sind im Storyboard für den TableView des „normalen“ TableViews registriert. Dein CustomerSearchResultTableViewController hat seine eigene TableView, für die eben keine Zellen registriert sind. Das musst du dann halt noch machen.
    Danke, hatte gerade endlich Zeit mich damit zu beschäftigen.
    Danke nochmal für den Tipp, der hat geholfen.