2010-10-20 8 views
26

Quels sont les bons moyens de construire des groupes/dossiers?Comment structurer un projet iPhone XCode?

J'ai essayé par fonctionnalité (interface utilisateur pour une fonctionnalité plus le modèle etc) avec un groupe commun. J'ai également essayé par l'interface utilisateur, le modèle, etc.

Le premier conserve comme les choses ensemble ce qui correspond bien au paradigme de l'iPhone. Ce dernier signifie que je saute un peu plus.

Qu'en pensez-vous?

+0

Je suis de plus en plus à l'aide VIPER maintenant avec une grande partie de la structure utiliser des services (abstractions sur API, système, etc) pour contenir la logique. –

Répondre

3

Cela dépendra beaucoup du projet. Dans mon dernier projet j'avais surtout des vues, et j'ai donc organisé les vues par type de vue.

10

La structure standard du dossier Xcode MVC est la suivante.

  1. CoreData: Contient des classes dataModel et entité.

  2. Extension: Contenir une classe

  3. Aide (extensions par défaut de classe pomme + extensions de projet de classe.). Contenir les classes tiers/cadres (. Par exemple SWRevealController) + des classes passerelles (par exemple Obj classe C en projet basé Swift)

  4. Modèle: Faire une classe singleton (eg.AppModel - NSArray, NSDictionary, cordes, etc.) pour la sauvegarde des données. L'analyse syntaxique des réponses de service Web et le stockage des données sont également effectués ici.

  5. services: Contenir les processus de service Web

  6. Voir (par exemple Connexion vérification, demande/de réponse HTTP.): Contenir story-board, et LaunchScreen.XIB Voir classes. Faire un cellules sous dossier - contiennent UITableViewCell, UICollectionViewCell etc.

  7. Controller: Contenir logique ou le code lié à UIElements (par exemple la référence UIButton + cliqué sur l'action.)

+0

Dans MVC puis-je avoir un storyboard? – Saranjith

+0

Oui, vous pouvez. Nous pouvons regrouper plusieurs storyboards dans View en fonction de différents modules. –

+0

n'est pas 'Services' ambigu? –

2

Bien que John a un point, je J'ai en fait créé un projet pour démontrer ce que je considère comme ma structure générale de projet Xcode pour une base de code petite ou moyenne. Vous pouvez le trouver here.

Voici un aperçu de celui-ci:

  • Source - Tout le code source
    • de compte - cours relatives aux comptes (classes liées à la session, la logique de compte, etc.)
    • Application - Application- classes liées. délégué App, les classes de configuration, etc.
    • ajouts de base - Les extensions et les sous-classes issues de classes de pommes
      • Utilities - classes d'utilité générale.extensions utiles, le formatage des utilitaires, des cours de commodité et de tels
      • dossiers basés sur des éléments - Dossier pour UIView, UITableViewCell, etc
    • persistance locale - couche de persistance locale. Toutes les interactions avec la base de données locale (domaine, des données de base)
      • Référentiels - Tous persistance locale liée modèle logique
    • Constantes - Toutes les constantes. URL, polices, couleurs, erreurs, etc.
    • Modèles - Tous les modèles (représentation des entités côté serveur). Nous aussi jeter ici toute logique de mapping objet
    • Modules - Ici, nous pouvons trouver chacune des pièces divisées par la fonctionnalité
      • dossiers à base de module de l'application - Chaque dossier contient tous vue spécifiques au module des contrôleurs, des vues, des délégués et classes liées
    • réseau - La couche réseau de l'application (par exemple, les classes responsables de l'interaction avec les services Web)
      • services - Toutes les logiques web liées aux modèles
  • Storyboards - Contient tous les fichiers story-board
  • Ressources - Les ressources Additionnellement, comme les médias, les documents, les fichiers de localisation et tels