在我项目中的一个第三方库中,单例 sharedInstance 方法似乎在最后的 return_sharedInstance 行上抛出了一个分析器警告:
+ (BlockBackground*)sharedInstance
{
if (_sharedInstance != nil) {
return _sharedInstance;
}
@synchronized(self) {
if (_sharedInstance == nil) {
[[[self alloc] init] autorelease];
}
}
return _sharedInstance;
}
无论如何,实际修复此警告的正确方法是什么?我还看到你不应该在这样的方法中进行自我分配,这是真的吗?
谢谢!