2010-08-19 5 views
0

Je suis un débutant dans ip dev, et je suis confus par UIViewController.iPhone problème de programmation à propos de UIView et UIViewController

la plupart des programmes commencent avec un contrôleur de vue, mais je ne sais pas pourquoi nous en avons besoin. ViewController a une vue, mais vous ne pouvez pas utiliser le medthod drawRect. Alors pourquoi ne pas simplement utiliser View au lieu de ViewController dans des endroits comme UIWindow et ainsi de suite?

J'ai appris que pour initialiser une vue, vous devez utiliser initWithCoder, car view est dans le fichier nib. Mais pourquoi la vue est dans le fichier nib? Je sous-classe UIView et fais un dessin dans drawRect, quelle est sa connexion avec le fichier nib?

Répondre

1

Vous pouvez ouvrir le fichier nib dans Interface Builder afin de pouvoir créer l'interface utilisateur graphiquement au lieu de la programmer. Vous n'avez donc pas besoin de dessiner, vous pouvez simplement construire votre interface via le constructeur d'interface.

Les UIViewControllers contiennent des UIViews. Apple croit en l'architecture logicielle Model-View-Controller, dans laquelle les données sont séparées de la vue, mais les données et la vue sont jointes par une classe de contrôleurs, qui gère la logique de l'application.

Modèle < -> Contrôleur < -> Voir

CustomDataClass < -> UIViewController < -> UIView

+0

le NSObject près DataClass est trompeur, car même UIViewController et UIView sont NSObjects – rano

+0

Vous êtes droite! J'ai édité ma réponse, j'espère qu'elle ne trompe plus. – jmont

+0

Merci pour l'information! Bien que je pense que UIViewController ne devrait pas contenir une vue par lui-même. – user425482

Questions connexes