UISearchDisplayController und UITableView Prototyp Zelle Absturz

Ich habe eine UIViewController setup in ein storyboard mit einer tableview und UISearchDisplayController.

Ich bin versucht, einen custom-Prototyp-Zelle von selbst.tableview (die mit Haupt-tableview in der storyboard). Es funktioniert gut, wenn self.tableview zurückgekehrt war mindestens 1 Zelle, wenn ich die Last meiner Sicht, aber wenn self.tableview wird nicht geladen, eine Zelle, die (da es keine Daten), und ich lade die UISearchBar und Suche, die cellForRowAtIndexPath: - Methode stürzt ab:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomSearchCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"CustomSearchCell" forIndexPath:indexPath];

    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}

-(void)configureCell:(CustomSearchCell *)cell atIndexPath:(NSIndexPath *)indexPath {
    User *user = [self.fetchedResultsController objectAtIndexPath:indexPath];

    cell.nameLabel.text = user.username;
}

Fehler:

*** Assertion failure in -[UITableViewRowData rectForRow:inSection:heightCanBeGuessed:]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'request for rect at invalid index path (<NSIndexPath: 0x9ef3d00> {length = 2, path = 0 - 0})

Meine fetchedResultsController zu haben scheint-Daten (Abschnitt 1, 2 Zeilen) an der Stelle der oben beschriebenen Methode aufgerufen wird. Es stürzt auf die dequeueReusableCellWithIdentifier Linie.

Irgendwelche Hinweise/Ideen? Es sollte dequeue-die Prototyp-Zelle aus self.tableview, aber meine Vermutung ist, es wurde keiner erstellt in self.tableview so ist dies die Ursache?

  • Können Sie nach dem code, der configureCell:atIndexPath: Methode? Kann das problem dort
  • es stürzt ab bevor er dort ankommt... ich werde es hinzufügen, wenn
  • oben Hinzugefügt... nicht wirklich viel
  • Nach Ihrem dequeueReusableCellWithIdentifier müssen Sie überprüfen if (cell == nil), und wenn dem so ist, müssen Sie erstellen eine Zelle.
  • Scheint zu funktionieren ok, auf der selbst.tableview obwohl? Trotzdem, wie kann ich zu instanziieren, von der Prototyp-Zelle im storyboard?
  • Mit der Prototyp-Zelle definiert, die in einem storyboard, dequeueReusableCellWithIdentifier sollte immer wieder eine gültige Zelle.
  • Dieses sieht wie es sein könnte, mein Problem: stackoverflow.com/a/15895014/248168

InformationsquelleAutor mootymoots | 2013-09-01
Schreibe einen Kommentar