Objective —C 的单例模式 Singleton实现
分享两段Objective - C实现单例模式的code
貌似在MAC开发里面很少有人提及设计模式。。。至少还没有看到用Objective —C实现什么设计模式的。。。
代码
static DataManager *sharedDataManager = nil;
+ (DataManager *) sharedManager
{
@synchronized(self)
{
if (sharedDataManager == nil)
{
[[self alloc] init];
}
}
return sharedDataManager;
}
+ (id)allocWithZone:(NSZone *)zone
{
@synchronized(self)
{
if(sharedDataManager == nil)
{
sharedDataManager = [super allocWithZone:zone];
return sharedDataManager;
}
}
return nil;
}
static DataManager *sharedDataManager = nil;
+ (DataManager *) sharedManager
{
@synchronized(self)
{
if (sharedDataManager == nil)
{
[[self alloc] init];
}
}
return sharedDataManager;
}
+ (id)allocWithZone:(NSZone *)zone
{
@synchronized(self)
{
if(sharedDataManager == nil)
{
sharedDataManager = [super allocWithZone:zone];
return sharedDataManager;
}
}
return nil;
}
防盗加个链接:
作者:Alexliu(alex dotNet Learning)
出处:http://alexliu.cnblogs.com/
作者:Alexliu(alex dotNet Learning)
出处:http://alexliu.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,转载请注明。并且保留文章链接。否则保留追究法律责任的权利。