0

J'ai maintenant développé quelques applications utilisant toutes des contrôleurs à vue unique. Dans chaque application du délégué d'application, j'alloue/init le premier contrôleur de vue dans "didFinishLaunchingWithOptions" et [window addSubview: view_controller.view]. Maintenant, ma question est quelle est la meilleure pratique pour enlever et ajouter des vues secondaires.Ajout et suppression de vues - Meilleure pratique

Au moment où je fais ce qui suit:

• Dans mon courant View Controller sur l'écran je fais référence au délégué application et appeler une méthode dire appelé « showSecondViewController » passage « auto »

• Ensuite, dans le délégué d'application dans la méthode "showSecondViewController", je supprime le "self" transmis depuis la vue d'ensemble et [window addSubview: new_view]; le nouveau contrôleur de vue.

Je dirais alors plusieurs de ces méthodes remove/show pour montrer/cacher chaque contrôleur de vue nécessaire.

Est-ce la meilleure pratique? Je parlais juste à un autre développeur d'iPhone sur l'utilisation au lieu d'utiliser cette méthodologie en utilisant un contrôleur de navigation (cachant la barre du haut) et "animated: NO" poussant et pop'ing les contrôleurs de vue? Lequel est le meilleur?

La raison aussi j'ai commencé à penser à cette initiale était après avoir regardé les conférences de l'Université de Standford et j'ai vu cette diapositive: http://screencast.com/t/N2RkZWIzMzkt qui me fait penser que ce que je fais n'est pas correct.

Veuillez nous aviser.

Merci James

Répondre

1

me semble que vous essayez de le faire à la main ce que UINavigationController peut faire pour vous, alors je partirais avec ça.

Ce que cette diapositive vous dit, c'est de ne pas tout mettre dans votre application comme un big ball of mud. Cela signifie que vous créez un objet qui contient et gère toutes vos vues et ne dépend de rien d'autre. S'il a besoin d'accéder à d'autres objets pour les utiliser, passez-les en utilisant setters ou dans la méthode -init, mais ne le faites pas aller au délégué de l'application (ou à un autre point central) et demandez-le. Cela s'appelle dependency injection.

Questions connexes