2016-05-10 18 views
0

Ich habe diese Reihe von Ereignissen: der Benutzer geht in HomeViewController, tippt auf etwas, geht in einen anderen View-Controller und wenn er auf die Backbar-Taste tippt, geht er natürlich zu HomeViewController zurück.Wie können ViewController-Serverdaten gespeichert werden, wenn sie von einer anderen VC zurückkommen?

Nur, dass ich in diesem Fall nicht noch einmal die Anfrage an den Server stellen möchte, ich will es nur so anzeigen, wie es vorher war. Wie kann ich das machen?

Ich erwähne, dass ich meine Anforderungen an Server in ViewWillAppear tun.

Antwort

1

Da der HomeViewController nicht beendet wird (zumindest in der Art, wie Sie das beschrieben haben), müssen Sie nichts "speichern".

Die Daten sollten noch da sein.

Mein Ansatz wäre, den Serveranforderungscode in Ihrem HomeViewController von ViewWillAppear() zu ViewDidLoad() zu verschieben.

So wird eine Anfrage nicht erneut ausgelöst. Und deine Daten werden immer noch da sein.

Aber Ihr HomeViewController wird nie wieder aktualisiert, nachdem Sie die App geöffnet haben.

Wenn Sie möchten, dass der HomeViewController aktualisiert wird (einen weiteren Satz von Anfragen erstellen), warum nicht wie die Mail iPhone App? (Wischen Sie 1 Sekunde nach unten, um den VC zu aktualisieren).

Dies scheint eine elegantere und kostengünstigere Lösung zu sein. Wenn es für Apples E-Mail-App gut ist, sollte es gut für Ihre App sein.

enter image description here

+0

Es funktionierte tatsächlich. Ich wusste nicht, dass ViewDidLoad() nicht erneut aufgerufen wurde, wenn der Benutzer auf den Bildschirm zurückkommt. Und ja, ich plane, das Wischen nach unten zu implementieren, um zu aktualisieren. Vielen Dank! – asheyla

+0

@aheyla Glücklich zu helfen! Ich habe deine Frage aufgefrischt;) – Coder1000