饿汉式:
懒汉式:
比较:
饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变
懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的
推荐使用第一种
objective c
return sharedDataManager;
}
+ (id)allocWithZone:(NSZone *)zone
{
@synchronized(self)
{
if(sharedDataManager == nil)
{
sharedDataManager = [super allocWithZone:zone];
return sharedDataManager;
}
}
return nil;
}
其实singleton表现的,在aplicationdelegate就体现出来了。
apple 里面的delegate大部分都是singleton 模式。