我不明白 NSAssert 在中的使用+alloc,当+alloc从 调用时+sharedGameManager,静态_sharedGameManager变量是nil(所以NSAssert应该在第一次[self alloc] init]调用时停止执行......)
+(GameManager*)sharedGameManager {
@synchronized([GameManager class])
{
if(!_sharedGameManager)
[[self alloc] init];
return _sharedGameManager;
}
return nil;
}
+(id)alloc
{
@synchronized ([GameManager class])
{
NSAssert(_sharedGameManager == nil,
@"Attempted to allocated a second instance of the Game Manager singleton");
_sharedGameManager = [super alloc];
return _sharedGameManager;
}
return nil;
}
感谢您的回答