2010-10-20 18 views
26

¿Cuáles son buenas formas de crear grupos/carpetas?¿Cómo se estructura un proyecto de iPhone XCode?

He intentado por función (UI para una característica más modelo, etc.) con un grupo común. También lo he intentado con UI, modelo, etc.

La primera mantiene las cosas juntas, lo que encaja perfectamente con el paradigma de iPhone. Esto último significa que salto un poco más.

¿Qué opinas?

+0

estoy utilizando cada vez más VIPER ahora con una gran parte de la estructura usar servicios (abstracciones sobre API, sistema, etc.) para contener la lógica. –

Respuesta

3

Va a ser muy dependiente del proyecto. En mi último proyecto tuve principalmente vistas, por lo que organicé las vistas por tipo de vista.

10

La estructura de carpetas Xcode MVC estándar es la siguiente.

  1. CoreData: contiene clases de modelo de datos y de las Entidades.

  2. Extensión: contener una clase

  3. ayudante (extensiones clase de manzana por defecto extensiones de clase de proyectos +.):. Contener clases de Terceros/Frameworks (. Ej SWRevealController) + clases de transición (por ejemplo Obj clase C en proyecto basado Swift)

  4. Modelo: hacer una clase Singleton (eg.AppModel - NSArray, NSDictionary, cuerdas, etc.) para guardar los datos. El análisis de la respuesta del servicio web y el almacenamiento de datos también se realiza aquí.

  5. Servicios: Contienen los procesos de servicio Web

  6. Ver (por ejemplo Login Verificación, solicitud/respuesta HTTP.): Contienen storyboard, Clases LaunchScreen.XIB y View. Hacer una Células carpeta sub - contener UITableViewCell, UICollectionViewCell etc.

  7. controlador: Contener Logic o código relacionado con UiElements (por ejemplo, la referencia de UIButton + clic acción.)

+0

En MVC ¿puedo tener un guión gráfico? – Saranjith

+0

Sí, puedes. También podemos agrupar varios guiones gráficos en la vista en función de los diferentes módulos. –

+0

no es 'Servicios' ambiguo? –

2

Aunque John tiene un punto, de hecho, creé un proyecto para demostrar lo que considero mi estructura general de proyecto de Xcode para una base de código pequeña o mediana. Puede encontrarlo here.

He aquí un resumen de él:

  • Fuente - Todo el código fuente
    • Cuenta - clases relacionadas con la cuenta (clases relacionadas con la sesión, la lógica de cuenta, etc.)
    • Aplicación - Aplicación- clases relacionadas Aplicación delegado, clases de configuración, etc
    • adiciones principales - Extensiones y subclases derivadas de las clases de manzana
      • Utilidades - clases de utilidad general.extensiones útiles, servicios públicos, clases de formato de conveniencia y dichas carpetas basadas en elementos:
      • - Carpeta para UIView, UITableViewCell, etc
    • Persistencia Local - Local capa de persistencia. Todas las interacciones con la base de datos local (reino, de datos básicos)
      • Repositories - Todos los relacionados modelo de lógica persistencia local de
    • Constantes - Todas las constantes. URL, fuentes, colores, errores, etc.
    • Modelos - Todos los modelos (representación de entidades del lado del servidor). También queremos lanzar aquí cualquier lógica de mapeo objeto
    • Módulos - Aquí podemos encontrar cada una de las piezas de la aplicación dividido por la funcionalidad
      • carpetas basada en módulos - Cada carpeta contiene todos los controladores de vista, vistas, delegados específicos del módulo y clases relacionadas
    • redes - capa de red de la aplicación (por ejemplo, clases de responsables de la interacción con los servicios web)
      • servicios - Toda la lógica web relacionado modelo de
  • Storyboards - Contiene todos los archivos de guión gráfico
  • Recursos - Todos los recursos adicionados como los medios de comunicación, documentos, archivos de localización y tal
Cuestiones relacionadas