SORU
11 ŞUBAT 2009, ÇARŞAMBA


Objective-C sabitleri

Cocoa bir uygulama geliştiriyorum ve benim tercihler için anahtar adları saklamak için yollar olarak NSStringsabit s kullanıyorum.

Bu gerekirse anahtarları kolay değiştirme sağlar, çünkü iyi bir fikir olduğunu anlıyorum. Artı, bütün 'mantık' kavramı. verilerinizi ayrı.

Her neyse, bu sabitleri bir kez tüm uygulama için tanımlanmış yapmak için iyi bir yolu var mı? Kolay ve akıllı bir yolu vardır eminim, ama şu an derslerim sadece kullandıkları olanları yeniden tanımlayın.

CEVAP
11 ŞUBAT 2009, ÇARŞAMBA


Bir üstbilgi dosyası oluşturun

// Constants.h
FOUNDATION_EXPORT NSString *const MyFirstConstant;
FOUNDATION_EXPORT NSString *const MySecondConstant;
//etc.

(eğer kodu başka platformlarda karışık C/C ortamlarda veya kullanılacaksa FOUNDATION_EXPORT yerine extern kullanabilirsiniz)

Proje için önceden derlenmiş Başlığı sabitler kullanan her dosya veya dosya ekleyebilirsiniz.

Sana bu sabitleri tanımlayın .m gibi dosya

// Constants.m
NSString *const MyFirstConstant = @"FirstConstant";
NSString *const MySecondConstant = @"SecondConstant";

Sabitler.m nihai ürüne bağlı olduğunu, bu yüzden uygulama/çerçevenin hedef eklenmelidir.

Bu avantajı kullanarak dize sabitleri yerine #define'd sabitleri Sen test için eşitlik kullanarak işaretçi karşılaştırma (stringInstance == MyFirstConstant) bu da çok daha hızlı dize karşılaştırma ([stringInstance isEqualToString:MyFirstConstant]) (ve daha kolay okumak için, IMO).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006