2010-10-20 9 views
26

Grup/klasör oluşturmanın iyi yolları nelerdir?iPhone XCode projesini nasıl yapılandırabilirsiniz?

Yaygın bir grupla (özellik artı model vb. Için) öznitelik tarafından denedim. Ayrıca, UI, model, vb. Tarafından denedim.

Eski, iPhone paradigmasına iyi uyan şeyleri bir arada tutuyor. İkincisi, biraz daha etrafta zıpladığım anlamına geliyor.

Ne düşünüyorsunuz?

+0

gibi herhangi Additionaly kaynakları - tüm film şeridi dosyaları

  • Kaynakları İçeren mantığı içermek için hizmetlerin (API, sistem, vb. üzerine soyutlamalar) kullanılması. –

  • cevap

    3

    Çok projeye bağlı olacak. Son projemde çoğunlukla görüş aldım ve bu yüzden görüşlerini görüş türüne göre organize ettim.

    10

    Standart Xcode MVC klasör yapısı aşağıdaki gibidir.

    1. CoreData: DataModel ve Varlık Sınıfları içerir.

    2. Uzatma: Tek sınıf içeriyor

    3. Yardımcısı (varsayılan elma sınıf uzantıları + proje sınıf uzantıları.):. Köprü sınıflar + Üçüncü Şahıs sınıfları/Altyapıları (. Örn SWRevealController) içeremez (örn Obj Swift tabanlı projede C sınıfı)

    4. Modeli: - verilerin kaydedilmesi için NSArray, NSDictionary, dize vs.) bir tekil sınıf (eg.AppModel olun. Verilerin ayrıştırılması ve depolanması için Web Hizmeti Yanıtı da burada yapılmıştır.

    5. Hizmetler: (. Örn Giriş Doğrulama, HTTP istek/yanıt): film şeridi, LaunchScreen.XIB ve Görünüm Sınıfları İçeren Web Servis işlemleri

    6. Görünüm içermelidir. Bir alt klasör Hücreleri Make - vs. UITableViewCell, UICollectionViewCell ihtiva

    7. Kontrolör: İçeren UIElements ilgili Mantık veya Kod (örn UIButton referans + tıklandığında eylem.)

    +0

    MVC'de storyboard'um olabilir mi? – Saranjith

    +0

    Evet yapabilirsin. Farklı modüllere dayanan View'de birden fazla storyboard grubu oluşturabiliriz. –

    +0

    , "Hizmetler" belirsiz değil mi? –

    2

    John bir noktaya sahip olsa da, ben aslında küçük veya orta ölçekli bir kod tabanı için genel Xcode proje yapısını düşündüğümü göstermek için bir proje oluşturdu. here'u bulabilirsiniz. İşte

    bunun ana hatları vardır: - Tüm kaynak kodu
    • Hesap - Hesap ilgili sınıfları (oturuma ilişkin sınıfları, hesap mantığı, vs)
    • Uygulama -

      • Kaynak Uygulamaya ilgili sınıflar. vb Uygulama delegesi yapılandırma sınıfları,
      • Çekirdek İlaveler - Uzantıları ve elma sınıflar
        • Kamu kaynaklanan alt sınıfları - Genel yarar sınıfları.Faydalı uzantıları, biçimlendirme programları, kolaylık sınıflar ve böyle
        • Eleman tabanlı klasörler - UIView, UITableViewCell için Klasör, vb
      • Yerel Sebat - Yerel kalıcılık katmanı. Tüm model ile ilgili yerel kalıcılığı mantık
    • sabitleri - - tüm sabitler yerel veritabanında (bölge, temel veri)
      • havuzları ile tüm etkileşimler. URL'ler, yazı tipleri, renkler, hatalar, vb
      • Modeller - Tüm modeller (sunucu tarafı varlıkları). Ayrıca herhangi bir nesne eşleme üzerinde lojik burada
      • Modülleri atacaklarını - Burada
        • Modül bazlı klasörler işlevselliği bölünmesiyle uygulamanın parçaların her birinin bulabilirsiniz - Her klasör tüm modül özgü bakış kontrolörleri, görünümleri, delegelere içerir ve ilgili sınıfları
      • Ağ - uygulamanın ağ katmanı
        • Services (web hizmetleri ile etkileşim sorumlu örneğin sınıflar) - Tüm model ilgili web mantığı
    • Film şeritleri - Ben gittikçe yapının büyük bir kısmı ile artık VIPER kullanıyorum medya, doküman, yerelleştirme dosya ve böyle