Hedef C, C gibi, ad alanlarına sahip değildir. Birisi zaten bir işlev tanımlamıştır, bu araçlar o foo
ya bir sınıf Bar
, bu genel benzersiz olmalı ve sen tanımlamak mümkün değil. Bu, kodunuza sahip olduğunuzda ve daha sonra başka bir kütüphane eklediğinizde çok fazla baş ağrısına neden olabilir ve aniden işler garip yerlerde kırılır.
Orada olduğu bunun için Apple tarafından sunulan bir kılavuz Sözleşmeleri: Objective C ile Programlama iOS geliştirici kütüphane bölümü:
Bazı İsimler Uygulamanızda Benzersiz Olmalıdır
Her yeni tür, sembol veya tanımlayıcı oluşturduğunuzda, önce adın benzersiz olması gereken kapsamı göz önünde bulundurmalısınız. Bazen bu kapsam, bağlantılı çerçeveleri de dahil olmak üzere uygulamanın tamamı olabilir; bazen kapsam sadece bir ek sınıfla, hatta sadece bir kod bloğuyla sınırlıdır.
Sınıf Adları Tüm Bir Uygulamada Benzersiz Olmalıdır
Objective-C sınıfları yalnızca bir projede yazdığınız kod içinde değil, aynı zamanda dahil edebileceğiniz çerçeveler veya paketler arasında benzersiz bir şekilde adlandırılmalıdır. Örnek olarak, uygulamanıza dahil ettiğiniz bir çerçevenin kuralları takip edememesi ve aynı adlara sahip sınıflar yaratması olası olduğundan, ViewController veya TextParser gibi genel sınıf adlarını kullanmaktan kaçınmalısınız.
Sınıf adlarını benzersiz tutmak için kural tüm sınıflarda önek kullanmaktır. Cocoa ve Cocoa Touch sınıf adlarının genellikle NS veya UI ile başladığını fark etmişsinizdir. Bunun gibi iki harfli önekler, Apple tarafından çerçeve sınıflarında kullanılmak üzere ayrılmıştır. Kakao ve Kakao Dokunuşu hakkında daha fazla bilgi edindikçe, belirli çerçevelerle ilgili çeşitli diğer öneklerle karşılaşacaksınız:
...
Kendi sınıflarınız üç harfli önek kullanmalıdır. Bunlar, şirket adınızın ve uygulama adınızın bir kombinasyonu veya hatta uygulamanızdaki belirli bir bileşenle ilgili olabilir. Örneğin, şirketinize Whispering Oak adı verildiyse ve Zebra Sürpriz adında bir oyun geliştiriyorsanız, sınıf öneki olarak WZS veya WOZ'yi seçebilirsiniz.
Yani, bu konvansiyonu bir tür kırdığından bahsettiğiniz kütüphaneler, ancak Objective C içinde ad boşluğu olmaması sorunun merkezinde yer alıyorlar.
Daha fazla Okuma
NSHipster tarafından Ad Alanı Oluşturma
Objective-C ad alanı çarpışmasını çözmenin en iyi yolu nedir?
İOS objektif-c kodunda ad alanları nasıl kullanılır?
;-)