2016-10-09 51 views
5

Kod örnekleri sağlayan derslerde ve örneklerde, bazen Xcode'un Proje gezginindeki proje dosyalarının MVC kalıbını ("Görünümler", "Denetleyiciler", "Model") izleyen gruplar ve diğer zamanlar düzenlendiğini görüyorum işleve göre gruplara (örneğin, "Giriş", "Kontrol Listesi").Xcode proje grupları yapısı için en iyi yöntem?

iOS ile ilgili olarak, bunun için herhangi bir Apple'ın sözleşmesi/öneri var mı? En iyi uygulama hangisi olmalıdır?

+0

Olası yinelenen gibi herhangi Additionaly kaynakları (https://stackoverflow.com/questions/3983144/how-do-you-structure-an-iphone-xcode-project) – Jaythaking

cevap

5

Sanırım birçokları gruplarını, kodlarını ve dosyalarını düzenlemenin birçok yolunu izliyor. Bunu hemen hemen şu şekilde takip ediyorum: (Bu kullanıcıdan alınmıştır: How do You structure an iPhone XCode project?)

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

Uzatma: Tek sınıfını içeremez (varsayılan elma sınıf uzantıları + proje sınıf uzantıları.)

Yardımcısı:. Swift tabanlı projede Üçüncü Taraf sınıfları/Altyapıları (. Örn SWRevealController) içeriyor + Köprü sınıfları (örn Obj C sınıfı

Model: Verileri kaydetmek için tekil bir sınıf (örn. AppModel - NSArray, NSDictionary, String vb.) Oluşturun. Verilerin ayrıştırılması ve depolanması için Web Hizmeti Yanıtı da burada yapılmıştır.

Hizmetler: Web Servis işlemleri (örn. Giriş Doğrulama, HTTP istek/yanıt)

Görünüm içeriyor: film şeridi, LaunchScreen.XIB ve Görünüm Sınıfları içeriyor. Bir alt klasör Hücreleri Make - vs. UITableViewCell, UICollectionViewCell ihtiva

Denetleyici: UIElements ilgili Mantık veya Kod (örn eylemi tıklandığında + UIButton referans.)

Bu aynı zamanda size yardımcı olabilir sınırlanmalıdır:

  1. http://akosma.com/2009/07/28/code-organization-in-xcode-projects/

  2. https://github.com/futurice/ios-good-practices/issues/28

  3. http://www.slideshare.net/MassimoOliviero/architecting-ios-project

0

Aslında ben küçük veya orta ölçekli kod tabanı için benim gitmek-to Xcode proje yapısı düşünün ne göstermek için bir proje hazırlandı. 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 - tüm film şeridi dosyaları
  • Kaynakları İçeriyor - [? Bir iPhone XCode proje yapısı nasıl] medya, doküman, yerelleştirme dosya ve böyle