Wie füge ich neue Zellen in einer UITableView?

Ich versuche eine Zeile hinzufügen, um eine tableview mit

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

Wirft er eine Ausnahme, wo ich anrufen insertRowsAtIndexPaths:withRowAnimation:), was sagt

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

Es ist wieder die korrekte Anzahl von Zeilen und Abschnitte, aber es macht es nie zu cellForRowAtIndexPath vor dem werfen der Ausnahme. Ich mache das mit einem storyboard auch und ich habe die tableView gesetzt zu haben statische Zellen, weil die Mehrheit der tableView in der Tat haben statische Zellen. Ich möchte wirklich nicht, um die Umstellung auf dynamische Prototypen, denn dann kann ich nicht IBOutlets und IBActions, die ich benutze, und ich müsste im wesentlichen starten Sie über und über mit Bezug auf die Anordnung der Zellen. Gibt es eine Möglichkeit für mich, um loszuwerden, diese Ausnahme ohne änderung meiner tableView zu haben dynamische Prototyp-Zellen?

Bearbeiten

Die Zeile rechts, bevor ich was gepostet wird, ist

[itemsInCurrentPurchase insertObject:itemName atIndex:0];

soll update array. Ich bin mit

[itemsInCurrentPurchase count]

für meine Anzahl der Zeilen in der Sektion und es ist wieder die richtige Nummer nach dem update. Das problem ist, dass der cellForRowAtIndexPath Methode ist noch nicht einmal erreicht wird. Während der Aktualisierung ist es etwas anderes, die aufgerufen wird zwischen der Anzahl der Zeilen und der Art der Zelle, die verursachen könnten diese Fehler?

  • Hast du das update der datasource array vor dem einsetzen? Sie benötigen ein update vor dem Aufruf dieser.
InformationsquelleAutor user1654889 | 2013-01-05
Schreibe einen Kommentar