2016-08-12 2 views
0

ich diese Codezeile verwende in meinem iOS-AppWie eine vorherige Seite neu zu laden, wenn segue zurück

self.navigationController?.popToRootViewControllerAnimated(false) 

Es bringt den Benutzer zurück die Login-Seite, aber es neu zu laden nicht das Login mit all den neuesten Daten.

Es wird nicht den Code erneut aus:

override func viewDidLoad() { 
    super.viewDidLoad() 
    ... 
} 

Wie mache ich das Segue wieder die viewDidLoad verursachen?

+0

Es sollte nicht "ViewDidLoad" erneut ausgeführt werden, die Ansicht ist bereits geladen. Aber es wird ViewWillAppear ausführen, wie Dharmesh unten sagte, Sie müssen neu konfigurieren, um Ereignisse wie diese zu behandeln. Dies ist der korrekte Fluss für View-Controller. – Loxx

Antwort

5

Verwenden Sie viewWillAppear Methode dafür.

+0

Ja, verschieben Sie den Code, den Sie zum erneuten Laden verwenden, in 'viewWillAppear' statt in' viewDidLoad' –

0

Sie senden einen Internetanruf von viewDidLoad(). Um Ihren viewController zu aktualisieren, fügen Sie Ihre Web-Request-Methode in viewWillAppear() hinzu.

Hinweis: viewDidLoad wird nur aufgerufen, wenn der View-Controller lädt, die einmal passieren. Allerdings wird viewWillAppear aufgerufen, bevor es angezeigt wird, was oft passieren wird, wenn Sie zwischen Ansichten hin- und herspringen.

Verwandte Themen