/ / Keine sichtbare Schnittstelle für UITableViewController deklariert den Selektor ReloadData - ios, object-c, uitableview, reloaddata

Keine sichtbare Schnittstelle für UITableViewController deklariert den Selektor ReloadData - ios, object-c, uitableview, reloaddata

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:Bildbeschreibung hier eingeben

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 № 1

UITableViewController 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];
}