单粒模式确保一个类始终只有一个实例。单粒模式可以封装一个共享的资源,提供一个固定的实例创建方法,提供一个标准的实例访问接口。
Objective-C单粒模式的创建
static id sharedMyManager;
+(id)sharedManager
{
if(sharedMyManager == nil)
{
sharedMyManager=[[self alloc]init];
}
return sharedMyManager;
}
或者
+(void)initialize
{
static BOOL initialize=NO;
if(initialize == NO)
{
initialize=YES;
instance =[[self alloc]init];
}
}
+(id)sharedUserContext
{
return instance;
}
@end
//instance为该类的一个指针,if判断确保它只被初始化一次