Wenn Sie benutzerdefinierten TableViewCells verwenden, die generischen
[self.tableView reloadData];
nicht effektiv diese Frage beantworten , wenn Sie die aktuelle Ansicht und wieder verlassen. Die erste Antwort gibt es auch nicht.
Um erfolgreich zu laden Sie Ihre erste Tabellenansicht Zelle ohne Ansichten zu wechseln, verwenden Sie folgenden Code:
//For iOS 5 and later
- (void)reloadTopCell {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
NSArray *indexPaths = [[NSArray alloc] initWithObjects:indexPath, nil];
[self.tableView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
}
Fügen Sie den folgenden Aktualisierungsmethode, die auf die obige Methode aufruft, so dass Sie benutzerdefinierte nur nachladen können die Top-Zelle (oder die gesamte Tabelle Ansicht, wenn Sie möchten):
- (void)refresh:(UIRefreshControl *)refreshControl {
//call to the method which will perform the function
[self reloadTopCell];
//finish refreshing
[refreshControl endRefreshing];
}
Nun, da Sie, dass sortiert, innerhalb Ihrer viewDidLoad
add die folgenden:
//refresh table view
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:refreshControl];
Sie verfügen nun über eine benutzerdefinierte Aktualisierungstabelle, die die oberste Zelle neu lädt. Um die gesamte Tabelle neu zu laden, fügen Sie die
[self.tableView reloadData];
zu Ihrer neuen Aktualisierungsmethode hinzu.
Wenn Sie die Daten erneut zu laden jedes Mal, wenn Sie Ansichten wechseln, implementieren die Methode:
//ensure that it reloads the table view data when switching to this view
- (void) viewWillAppear:(BOOL)animated {
[self.tableView reloadData];
}
Erbsenzählerei verschwinden hier verwenden, aber natürlich, wenn Sie waren nur eine einzelne Zelle erfrischende Sie wahrscheinlich verwenden wollen würde '[NSArray arrayWithObject:]' statt. –
Auch in dieser Situation sind die 'beginUpdates' und' endUpdates' nicht notwendig. – kubi
@kubi Hallo, können Sie erklären, warum sie nicht notwendig sind? – Unheilig