J'ai deux ViewControllers. Lorsque j'appuie sur un bouton sur le FirstViewController, le SecondViewController apparaît. Lorsque j'appuie sur un bouton sur le SecondViewController, le FirstViewController réapparaît. Le problème est que la vue sur le FirstViewController ne se charge plus. La boucle ViewDidLoad ne se charge plus. Je veux créer une boucle, qui vérifie une variable à chaque fois que le FirstViewController apparaît.Xcode Swift ViewDidLoad
Répondre
Mettez ce code dans viewDidAppear
ou viewWillAppear
.
viewDidLoad
n'est appelée que lorsque la vue est chargée pour la première fois. On dirait que vous cherchez la méthode viewDidAppear
(ou viewWillAppear
) qui est appelée à chaque fois que la vue vient d'être (viewDidAppear
) ou est sur le point d'apparaître (viewWillAppear
).
Vous êtes donc probablement à la recherche de l'une ou l'autre de ces méthodes. Vous voudrez peut-être regarder le schéma this page pour plus d'informations
appel de méthode viewDidLoad lorsque vous ajoutez une instance de UIViewController
en Navgation Stack
.
Je suppose que vous connaissez déjà Navigation Stack
.
Lorsque vous affichez FirstViewController
de SecondViewController
cela signifie que vous avez fait une chose de deux façons possibles
1. VousSecondViewController
de Navigation Stack
de cette façon ViewDidLoad
de FirstViewController
ne sera jamais appeler parce FirstViewController
déjà chargé dans la mémoire. Dans ce cas, ViewDidAppear
et ViewWillAppear
vont s'exécuter. Parce que ces méthodes appellent toujours à chaque fois que la vue apparaît à l'écran.
2. Vous avez créé une autre instance de FirstViewController
sur SecondViewController
et pousser par exemple l » FirstViewController
sur Navigation Stack
. De cette manière, une nouvelle instance de FirstViewController
sera ajoutée et ViewDidLoad
sera appelée automatiquement. Et une boucle de FirstViewController
et SecondViewController
sera automatiquement créé.
J'espère que vous comprenez maintenant pourquoi la méthode ViewDidLoad
n'a jamais appelé pour vous.
Possible duplication de [Vous cherchez à comprendre le cycle de vie iOS UIViewController] (https://stackoverflow.com/questions/5562938/looking-to-understand-the-ios-uiviewcontroller-lifecycle) –
peut-être le '-viewWillAppear (_ :) 'est votre portée souhaitée; Si vous êtes intéressé par le cycle de vie des contrôleurs de vue (__you êtes! __), prenez le temps de lire les [documents Apple à ce sujet] (https://developer.apple.com/documentation/uikit/uiviewcontroller) . – holex