Question

La méthode addSubview charge effectivement la vue dans l'application ou non? La raison pour laquelle je demande parce que j'ai deux deux vues dans ma demande. Le délégué de l'application ajoute les deux points de vue que subviews et apporte ensuite l'une des vues à l'avant. Maintenant, j'ai une déclaration d'impression dans chacune des méthodes viewDidLoad pour chaque vue. Quand je lance l'application, le délégué de l'application charge les vues comme sous-vues et que chaque point de vue est chargé, je vois effectivement l'impression de la console sur les déclarations que je plaçais dans chacune des méthodes viewDidLoad. Est-ce censé faire cela?

Était-ce utile?

La solution

viewDidLoad est en fait une méthode de UIViewController, non UIView. Il est appelé à la vue est chargé en mémoire (après votre méthode d'initialisation, mais avant la awakeFromNib). Vous remarquerez que addSubview: prend un UIView comme paramètre, la vue doit avoir été chargée pour que la vue à ajouter à une autre vue. Sinon, vous seriez essayer d'ajouter une vue imaginaire.

En réponse à votre question, oui, il est censé faire cela. viewDidLoad est appelé bien avant que vous addSubview. En fait, si vous prenez le addSubview: lignes, vous remarquerez qu'il est toujours s'appeler (parce que vous créez le contrôleur de la vue)

.

Autres conseils

Ma compréhension est que les vues sont chargées paresseusement. Si votre viewcontroller a 10 point de vue, ils ne sont pas tous chargés jusqu'à ce que vous essayez réellement d'y accéder.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top