Der Aufruf [self.tableView reloadData]
funktioniert einwandfrei, wenn Sie eine neue Zeile hinzufügen oder löschen. Wenn Sie alle Zeilen löschen und eine leere Tabelle anzeigen möchten, hat reloadData
keine Auswirkungen. Alle Phantomzeilen sind noch vorhanden, bis die App erneut gestartet wird. Ich mache das auf der RootViewController
, die eine UITableViewController
ist. Gibt es eine andere Möglichkeit, die Tabelle in diesem Fall zu aktualisieren?Wie UITableView neu zu laden, wenn leer?
0
A
Antwort
1
Sie sollten versuchen,
- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths
withRowAnimation:(UITableViewRowAnimation)animation
... auf der UITableView zu verwenden, wenn Sie ein paar Zeilen löschen, so dass Sie auch die Animation erhalten, wenn
Ansonsten ein
[tableView setNeedsDisplay];
löschen .. .might help
setNeedsDisplay hatte nie Auswirkungen. Ich lösche aus der Datenbank und nicht eine Zeile nach der anderen. Nicht sicher, wie deleteRowsAtIndexPaths in diesem Fall verwendet werden kann. Ich muss nur den Tisch auffrischen. – 4thSpace
Ich habe es herausgefunden. Löschte das Quell-Array nach dem Löschen aus der DB nicht. – 4thSpace