Cevap extern anahtar kelimedir: hoşuna erişmek gerekiyordu böylece NSNumber öncülleri için bir nesne sarıcı. Bir örnek kullanarak size açıklayacağım. nesnel c sınıflar projenizi ekleyin ve onları Ortak isim, Şimdi Common.h
@interface Common : NSObject
extern NSString *SiteApiURL;
@end
içinde yapmanız gerekenler extern anahtar kelimeyi kullanarak NSString Sınıf örneğini tanımlanan sonra Common.m sınıfına geçiş ve başlatmak NSString (SiteApiURL) değeri
#import "Common.h"
@implementation Common
NSString *SiteApiURL = @"http://api.service.com";
@end
İthalat proje Prefix.pch içinde Common.h sınıfı o şimdi kullanabilirsiniz, tüm yapılan bu
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "Common.h"
#endif
gibi dosya Tüm projenin herhangi bir yerinde "SiteApiURL" ifadesini kullanın ve herhangi bir sınıfa herhangi bir yer vermemeniz gerekir, yani bu değişkeni doğrudan projenin herhangi bir yerinde kullanabilirsiniz.
Bir stil meselesi olarak (ve hataların sürünmesini önlemek için) bu #defines'in gerçekten olması gerektiği gibi bir şey var, örneğin, # #file SOME_VALUE (7) '. Ayrıca, bu uygulamada gömülü olmayan uygulamalar için de uygulamadan vazgeçtim ve statik değişkenlerin bellek yükü gerçekten iOS/OS X için büyük bir sorun değil. – sapi
İyi puanlar. Sadece onun için bazı seçenekler atmak istedim. düzenlendi. –
Gelecekte bunun karşısına çıkan herkes için. Sabitler kesinlikle tercih edilen yöntemdir. Sabitler, derleyicinin sizin için bazı optimizasyonlar yapmasına izin verirken, tanımlamanızın yalnızca tamamen otomatik kod tarafından geliştirilmesini tanımlar. –