Ich habe ein UITableViewController
als meinen primären ViewController in einer App. Mein Ziel ist es, das zu überschreiben reloadData
Methode.
Sowohl der Delegat als auch die Datenquelle der Tabellenansicht wurden automatisch im Storyboard festgelegt:
Wenn ich jedoch die Supermethode der Klasse in der Überschreibung aufrufe, erhalte ich den Fehler im Titel dieser Frage.
Mein Code ist sehr einfach:
- (void)reloadData {
[super reloadData];
}
Außerdem, wenn ich anrufe reloadData
Ohne das Überschreiben in anderen Teilen meiner App scheint es nicht auszulösen cellForRowAtIndexPath
:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"theThingImLookingFor"]) {
[self.tableView reloadData]; //no error thrown, but no tableReloading either
}
}
Wie bekomme ich das zum Laufen? Ich habe das Gefühl, dass mir hier etwas offensichtliches fehlt ...
Antworten:
0 für die Antwort № 1UITableViewController
definiert nicht ein reloadData
Methode. Das ist ein UITableView
Methode. Wenn Sie einen definiert haben, wird er nicht angerufen, wenn Sie ihn nicht selbst anrufen. Ich schlage vor, einen Haltepunkt auf Ihrem zu setzen reloadData
Methode und sehen, von wo aus es aufgerufen wird.
Wenn Sie Ihre reloadData-Methode selbst aufrufen, wird nichts unternommen. Sie müssen die reloadData-Methode Ihrer tableView aufrufen.
Sie könnten sicherlich eine reloadData-Methode in Ihrem implementieren UITableViewController
das wiederum ruft die reloadData-Methode der Tabellensicht auf:
- (void)reloadData {
[tableView reloadData];
}