84 votes

Différence entre viewDidLoad et viewDidAppear

Quelle est la différence entre viewDidLoad et viewDidAppear. Ce genre d'initialisation ou d'un code personnalisé va dans ces fonctions.

par exemple, presentModalViewController ne fonctionne que lorsqu'il est présent dans viewDidAppear et pas sur viewDidLoad

144voto

davidgoli Points 859

viewDidLoad est appelé qu'une seule fois, lorsque le contrôleur est d'abord chargé en mémoire. C'est l'endroit où vous souhaitez instancier toutes les variables d'instance et de construire des points de vue qui vivent pour l'ensemble du cycle de vie de ce point de vue-contrôleur. Cependant, le point de vue est généralement pas visible à ce point.

viewDidAppear est appelé lorsque la vue est réellement visible, et peut être appelée plusieurs fois durant le cycle de vie d'un point de Vue Contrôleur (par exemple, lorsqu'un Modal-Vue-Contrôleur est rejeté, et la vue devient de nouveau visible). C'est l'endroit où vous souhaitez effectuer toutes les actions de disposition ou de faire un dessin dans l'INTERFACE utilisateur - par exemple, la présentation d'un modal-vue-contrôleur. Cependant, tout ce que vous faites ici doivent être reproductibles. Il est préférable de ne pas garder les choses ici, sinon vous aurez des fuites de mémoire si vous ne relâchez pas eux lors de l'affichage disparaît.

Voir: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html

20voto

WrightsCS Points 32170

Tout simplement, vous souhaitez créer une commande ou des tableaux en viewDidLoad, alors que dans viewDidAppear est l'endroit où vous voulez actualiser ces contrôles ou des tableaux.

viewDidLoad est appelé qu'une seule fois lorsque le contrôleur est créé et viewDidAppear est appelée à chaque fois que le point de vue, eh bien, N'apparaissent. Donc, disons que vous avez un modal de la vue qui vous présente, lors de ce point de vue est rejeté, viewDidAppear sera appelée, et viewDidLoad ne sera pas appelé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X