任何人都可以告訴我什麼下面的類中的靜態變量的範圍是?類中的靜態變量作用域?
@implementation SharedManager
static id myInstance = nil;
+(id)sharedInstance {
if(myInstance == nil) {
myInstance = [[self alloc] init];
}
return myInstance;
}
在測試我創建從類的實例,然後釋放它,但注意到,在創建第二個實例,靜態不是零(即指向先前發佈的對象)對於測試我固定這通過覆蓋 - (void)dealloc爲這個類。
-(void)dealloc {
NSLog(@」_deal: %@」, [self class]);
[super release]
myInstance = nil
}
加里
謝謝大衛,是的,我明白這一點,但在這種情況下,單例只是模型數據,它是一個簡單的MVC iPhone應用程序,我不會預見和線程發生。我只是想確定它是如何工作的,因此不需要dealloc,因爲我沒有看到它被釋放 – fuzzygoat 2010-03-10 17:24:27
只是我的單身旅行中的一個快速記錄,@synchronized([SharedManager class]){可能會更好,或者更好我被引導相信。 – fuzzygoat 2010-03-10 17:43:47