J'ai récemment commencé la programmation pour iOS et voudrais savoir quelles sont les principales différences entre l'utilisation des story-boards, au lieu de xib fichiers. Plus précisément, quels sont les avantages et/ou inconvénients de l'utilisation d'un story-board? Malheureusement, en dépit de faire un peu de recherche, tout ce que j'ai pu trouver sur les story-boards sont simples tutoriels qui vous montrent comment mettre en place un plan de montage, au lieu de béton de l'information expliquant ce qu'ils sont. Toute information serait grandement apprécié, je vous remercie beaucoup pour votre temps et vos réponses.
Réponses
Trop de publicités?Un Storyboard, c'est:
- Un conteneur pour tous vos Scènes (Vue Contrôleurs, Nav Contrôleurs, TabBar Contrôleurs, etc)
- Un gestionnaire de connexions et de transitions entre ces scènes (celles-ci sont appelées Enchaîne)
- Une belle façon de gérer la façon dont les différents contrôleurs de parler les uns aux autres
- Les Storyboards de vous donner un look complet à l'écoulement de votre application que vous pouvez ne jamais obtenir de l'individu plume fichiers flottant autour.
- Un réducteur de tous le "désordre" qui se produit lorsque vous avez plusieurs contrôleurs, chacun avec son propre fichier nib.
J'ai été en utilisant des story-boards pour un certain temps maintenant et le SEUL inconvénient est que vous ne pouvez pas cibler iOS 4 ou ci-dessous. Storyboards ne fonctionne que sur les appareils exécutant iOS 5 ou supérieur. Autre que cela, les avantages sont nombreux et les inconvénients sont inexistantes de l'OMI.
Le meilleur tutoriel que j'ai vu, c'est Ray Wenderlich de l'
Aussi, si vous êtes un membre de l'Apple Developer program, découvrez les dernières années de la WWDC session sur des story-boards (iTunesU), il est génial.
Un autre grand (également sur iTunesU) est la dernière Stanford Application iOS cours de Programmation.
Il n'y a pas seulement pro côtés de l'écriture de scénarii, aussi contre - juste parce que vous avez demandé pour l'entrée:
- il n'est pas facile de travailler avec SBs au sein d'une équipe, comme un seul participant peut travailler sur le SB à la fois (parce que c'est un fichier).
-Ci-dessous n'est pas vrai: - si vous avez besoin de faire des choses SB n'a pas d'offre, il n'est pas très facile à obtenir SB mélangé avec programatical vues créées (ainsi, il est possible cependant)
La règle générale semble être: le plus complexe que vous attendez de votre projet pour obtenir, plus vous serez mieux de ne pas aller pour le SB.
EDIT: - un autre inconvénient de SB: travail autour de tous les bugs gênants de XCode concernant SB. E. g. avoir à vider le DerivedData dossier en raison de quelques incohérences. Parfois, storyboard fichiers ou le lien pour les obtenir endommagé. Ensuite, vous pourriez avoir de la joie à la recherche du problème. Jetez un oeil à ce fil pour se faire une idée
EDIT 2 (Mars 2013): pendant ce temps, les Storyboards et Xcode sont fonctionne beaucoup mieux, et la documentation et les meilleures pratiques sont largement répandues. Je pense qu'en travaillant avec storyboard peut être recommandé pour une majorité de projets, même si il ya encore quelques problèmes.
EDIT 3 (Septembre 2013): maintenant, avec la nouvelle Xcode 5 format de travailler en équipe avec le SB peut faire encore mieux, comme il semble être possible de fusionner SB-code beaucoup plus facile maintenant.
Un autre EDIT: eh bien, si vous avez une heure de temps, s'asseoir, se détendre et écouter ces gars-là de la discussion de ce sujet (Ray Wenderlich & Co)
Il y avait une belle présentation sur table de montage séquentiel donné à la LiDG rencontre un couple de mois.
Personnellement, je dirais que c’est la voie à suivre grâce à une nouvelle application. Il y a quelques lacunes, en particulier pour des applications très complexes, mais le pro pour la plupart l’emportent sur les inconvénients.
Encore plus d'avantages de story-boards:
- Scénarios ont un meilleur soutien pour les tableviews. C'est que vous pouvez utiliser "Dynamique" et "Prototype" des cellules.
- Il est plus facile pour instancier vue contrôleurs à l'aide de story-boards. Vous pouvez faire des trucs comme: [se lf.storyboard instantiateViewControllerWithIdentifer:]
- Storyboards de prendre en charge l'affichage de contrôleur de conteneurs, de sorte que vous pouvez demander à l'enfant de visualiser les contrôleurs de layed dehors graphiquement.
Les désavantages sont:
Les story-boards sont lents à rendre dans XCode quand ils contiennent beaucoup de vue des contrôleurs
Mise en page automatique ne peut pas être activé pour une-vue-contrôleur dans le storyboard.