UITableView ist reloadRowsAtIndexPaths: (NSArray *) indexPaths Versagen zu verursachen, neu laden, es sei denn, Sie nennen es zweimal?

Habe ich ein UITableViewController Verwaltung einer UITableView-Objekt in einer iPad-app. Die Tabellenansicht ist verbunden mit einem Recht komplizierten Konstellation von anderen Objekten. Ich habe ein problem, wenn ich bitten es neu zu laden Zeile wie folgt:

//indexPath is an NSIndexPath with indexes 0 and 0.  At the moment, this is the only cell in the table view.
NSArray *array = [NSArray arrayWithObject:indexPath]; 
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone]; 

Das problem ist, dass die Zeile nicht neu laden. Es ist nie ein Rückruf cellForRowAtIndexPath.

Das verrückte an der Sache ist, dass, wenn ich rufe reloadRowsAtIndexPaths zweimal, das zweite Anruf löst den reload:

//indexPath is an NSIndexPath with indexes 0 and 0.  At the moment, this is the only cell in the table view.
NSArray *array = [NSArray arrayWithObject:indexPath]; 
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone];   //does not reload
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone];   //does reload

Frage ich mich, ob jemand hat jemals erlebt einen Fehler wie diese, und wenn ja, was war die Ursache?

  • machst du das in einigen hintergrund-thread?
  • Habe eine test-Fall?
  • Haupt-thread. Wenn Sie von "test cases", meinst du ein einfaches Beispiel, das veranschaulicht, das gleiche, Nein, ich nicht, und ich wünschte, ich Tat.
  • Habe das gleiche Problem, ich bin mit Xcode 6.3.2 und swift 1.2 und kann nicht laden bestimmte Zeile aus einem Anruf. Versuchte fast alles, aber die Zelle erneuert sich nur von der zweiten sequentiellen reloadRowsAtIndexPaths nennen.
  • Bekam keine Antwort, es zu lösen?
Schreibe einen Kommentar