2012-02-07 79 views
3

這是一個Objective-C上的新手問題: 我想創建一個靜態類,可用於任何對象訪問的整個代碼。這個類將作爲幾個對象的容器。 任何人都可以提供一個簡短的代碼示例來聲明靜態全局變量和方法嗎?如何實現全局靜態類

回答

3

對於我的Globals類我有這樣的事情

.h文件看起來像這樣

@interface Globals : NSObject 
{ 

} 
+ (Globals *)instance; 

@end 

與.m文件是這樣

進口 「Globals.h」

@implementation Globals 

- (id)init 
{ 
    self = [super init]; 

    if (self) 
    { 

    } 

    return self; 
} 

+ (Globals *)instance 
{ 
    static Globals *instance = nil; 

    @synchronized(self) 
    { 
     if (instance == nil) 
     { 
      instance = [[Globals alloc] init]; 
     } 
    } 

    return instance; 
} 

- (void)dealloc 
{ 
    [super dealloc]; 
} 

@end 

當然這是Globals類的一個非常基本的例子

+0

可以添加一個靜態變量嗎? – Sagi 2012-02-07 07:18:14

0

創建一個類,讓你的應用程序代理持有類的一個實例 - 如果你真的需要這種全球知名度。全局可變狀態,如全局變量和單例是不好的氣味。可以考慮出衆的解決方案。