Soweit ich Ihren Code verstehe, löst die Nachricht das Nachladen der gesamten Tabelle aus. Das sollte zu einer Auffrischung der Zellen führen.
Sie müssen also in Zeile 76 nachsehen, ob die Zelle gezeichnet wird, weil ein Reload von der Zielmeldung ausgelöst wurde (und das Bild jetzt angezeigt werden kann) oder wenn Sie das asynchrone starten müssen Download des Bildes.
Das erste, was mir in den Sinn kommt, dies zu überprüfen, ist eine Eigenschaft in reloadTableView einzustellen:
- (void)reloadTableView
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"aaa"];
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"name" object:nil];
NSLog(@"removeobserver");
loadImageFinished = YES;
// if your table has several sections you'll need to adopt the section number
NSIndexSet *indices = [[NSIndexSet alloc] initWithIndex:0];
[self.tableView reloadSections:indices withRowAnimation:UITableViewRowAnimationFade];
[indices release];
}
und dann in
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
if (loadImageFinished) {
...
} else {
[asyncImage loadImageFromURL:[NSURL URLWithString:pathImage]];
}
...
}
Hinweis hinzufügen, dass es auch andere Gründe geben könnte, warum Die Tabelle wird neu geladen - die Ansicht könnte verschwunden oder nicht geladen sein und Sie möchten möglicherweise Ihre asynchrone Ladeoperation nicht mehrmals auslösen.
xcode ist nur eine IDE, und hat nichts mit dieser Frage zu tun – vikingosegundo