パブリックライブラリから使用するコードの分析を行ったところ、XCodeは[[[self alloc]で始まる行の問題を指摘しました:
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];