2010-10-20 18 views
26

Quali sono i modi migliori per creare gruppi/cartelle?Come si struttura un progetto iPhone XCode?

Ho provato per funzionalità (interfaccia utente per una funzionalità più modello, ecc.) Con un gruppo comune. Ho anche provato l'interfaccia utente, il modello, ecc.

Il primo mantiene le cose insieme che si adatta perfettamente al paradigma dell'iPhone. Quest'ultimo significa che salto un po 'di più.

Cosa ne pensi?

+0

sto sempre usando VIPER ora con una grande porzione della struttura utilizzo di servizi (astrazioni su API, sistema, ecc.) per contenere la logica. –

risposta

3

Sarà molto dipendente dal progetto. Nel mio ultimo progetto avevo per lo più viste, quindi ho organizzato le viste per tipo di vista.

10

La struttura della cartella Xcode MVC standard è la seguente.

  1. CoreData: Contiene DataModel e delle Entità Classi.

  2. Estensione: contenere una classe

  3. Helper (estensioni classe mela di default + estensioni di classe del progetto.):. Contenere le classi Terze parti/Frameworks (es. SWRevealController) + classi Bridging (ad esempio Obj classe C in progetto basato Swift)

  4. Modello: fare una classe Singleton (eg.AppModel - NSArray, NSDictionary, String ecc) per salvare i dati. Anche l'analisi e la memorizzazione dei dati di risposta del servizio Web viene eseguita qui.

  5. Servizi: contengono processi di servizio Web

  6. View (ad esempio accesso di verifica, richiesta HTTP/Response.): Contengono storyboard, LaunchScreen.XIB e classi di visualizzazione. Fare un sub Cells cartella - contenere UITableViewCell, UICollectionViewCell ecc

  7. controller: contenere la logica o codice relative al UIElements (ad esempio, il riferimento di UIButton + cliccato azione.)

+0

In MVC posso avere uno storyboard? – Saranjith

+0

Sì, è possibile. Possiamo raggruppare più storyboard in View basati su diversi moduli. –

+0

non è 'Servizi' ambigui? –

2

Anche se John ha un punto, in realtà ho creato un progetto per dimostrare quello che considero la mia struttura di progetto Xcode go-to generale per una base di codice piccola o media. Lo puoi trovare here.

Ecco uno schema di esso:

  • Source - Tutto il codice sorgente
    • Account - legati classi (classi relativi alla sessione, la logica conto, ecc)
    • Applicazione - Application- classi correlate. App delegato, classi di configurazione, ecc
    • core Aggiunte - Estensioni e sottoclassi derivanti dai corsi di Apple
      • Utilità - classi di utilità generale.estensioni utili, formattazione utenze, le classi convenienza e tali
      • cartelle Element-based - Cartella per UIView, UITableViewCell, ecc
    • Persistenza locale - strato di persistenza locale. Tutte le interazioni con database locale (regno, i dati di base)
      • Repository - Tutta la logica di persistenza locale modello legati
    • Costanti - Tutte le costanti. URL, caratteri, colori, errori, ecc.
    • Modelli: tutti i modelli (rappresentazione di entità lato server). Vorremmo anche lanciare qui ogni logica oggetto di mapping
    • Moduli - Qui possiamo trovare ciascuno dei pezzi dell'applicazione diviso per funzionalità
      • modulo a base di cartelle - Ogni cartella contiene tutte vista controllori, viste, i delegati specifici moduli e classi relative
    • Networking - Il livello di rete dell'applicazione (ad esempio classi responsabili per l'interazione con i servizi web)
      • servizi - ogni logica web modello legati
  • storyboard - contiene tutti i file di storyboard
  • Risorse - tutte le risorse additionaly come media, documenti, file di localizzazione e così
Problemi correlati