2010-12-23 18 views
0

Ich entwickle eine medizinische Anwendung mit einer Drei-Tab-Schnittstelle. Die ersten beiden Registerkarten rufen zwei UITableViews auf, eines mit Berechnungen in alphabetischer Reihenfolge und eines mit Berechnungen in Kategorien. Auf beiden Registerkarten kann der Benutzer numerische Daten eingeben. Die dritte Registerkarte zeigt alle bisher eingegebenen und berechneten Daten an. Die Tabellenansichten für die ersten beiden Registerkarten stammen von zwei Plisten. Die Daten für die dritte Registerkarte werden von einem NSmutable-Array abgeleitet, das aus eingegebenen und berechneten Daten generiert wird.Wie UITableView in Registerkartenschnittstelle aktualisiert werden kann

Mein Problem ist, dass die dritte Registerkarte für die Datenanzeige zeigt Daten Ergebnisse nur beim ersten Mal richtig die Registerkarte verwendet wird. Wenn der Benutzer zu den ersten beiden Registerkarten zurückkehrt und zusätzliche Dateneinträge und Berechnungen durchführt, wird die Tabellenansicht auf der dritten Registerkarte nicht aktualisiert. Gibt es eine Stelle im View-Controller-Code für diese dritte Registerkarte, auf der ich eine Aktualisierung erzwingen kann?

Ich habe versucht: [self.tableView reloadData]; aber diesen Code in den View-Controller nach platzieren - (void) viewDidAppear: (BOOL) animiert funktioniert nicht.

Vielen Dank im Voraus.

+0

Wie wird das NSMutableArray der dritten Registerkarte aktualisiert, wenn Änderungen auf den ersten beiden Registerkarten vorgenommen werden? – Anna

+0

Alle eingegebenen numerischen Daten, die über die ersten beiden Registerkarten eingegeben wurden, werden als Singleton-Variablen gespeichert. Das NSMutableArray wird aus diesen Singleton-Variablen vom Ansichtscontroller der dritten Registerkarte generiert. – user183804

Antwort

0

Solange self.tableView nicht 0 ist reloadData wird funktionieren. Es klingt wie Ihre NSMutableArray auf der dritten Registerkarte wird nicht aktualisiert, sobald es geladen ist. Wie auch immer Sie es aktualisiert haben, was passiert ist. Wenn Sie es in -(void)viewDidLoad aktualisieren, versuchen, es zu verschieben -(void)viewDidAppear:(BOOL)animated

+0

Vielen Dank für Ihre Hilfe. Wie Sie vorgeschlagen haben, habe ich den Code im ViewController der dritten Registerkarte von viewDidLoad in viewDidAppear verschoben, und nun aktualisiert NSMutableArray ordnungsgemäß die Daten, die auf den ersten beiden Registerkarten eingegeben wurden. – user183804

+0

Der Grund, warum viewDidAppear für mich anfänglich nicht funktionierte, war, dass ich den Code zum Erzeugen des NSMutableArray in viewDidLoad hatte, getrennt von reloadData unter viewDidAppear. Danke noch einmal. – user183804

Verwandte Themen