使用它有什么好处:
+ (CardPainter*) sharedPainter {
static CardPainter* sp = nil;
if (nil == sp) {
sp = [[CardPainter alloc] init];
}
return sp;
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
+ (CardPainter*) sharedPainter {
static CardPainter* sp = [[CardPainter alloc] init];
return sp;
}
Run Code Online (Sandbox Code Playgroud)
静态变量初始化只执行一次,所以我看不到前者的优点.