我只是做了一個分析,我從一個公共圖書館使用代碼,並XCode中指出了開頭的線路有問題[[[自我頁頭]:這個靜態單體成員如何在Obj-C中設置?
static MyClass *_sharedInstance = nil;
+ (MyClass*)sharedInstance
{
if (_sharedInstance != nil) {
return _sharedInstance;
}
@synchronized(self) {
if (_sharedInstance == nil) {
[[[self alloc] init] autorelease];
}
}
return _sharedInstance;
}
我看着這條線,我不知道_sharedInstance如何被分配。任何人都可以向我解釋爲什麼這個代碼工作?我原本以爲你需要寫:
_sharedInstance = [[[self alloc] init] autorelease];
'MyClass'是否覆蓋'alloc'?此外,它不應該'autorelease',以便看起來破碎。 – trojanfoe 2013-03-20 16:18:06
根本不是。這是一個錯誤 – 2013-03-20 16:20:34