您的位置:首页 > 其它

单例设计的定义

2015-12-14 18:46 405 查看
/*
 2  @synchronized 的作用是创建一个互斥锁,保证此时没有其
它线程对self对象进行修改。 这个是objective-c的一个锁定
令牌,防止self对象在同一时间内被其它线程访问,起到线程
的保护作用。一般在公用变量的时候使用,如单例模式或者
操作类的static变量中使用。
*/
#import "Singleton.h"

@implementation Singleton
static id shared = nil;//2.初始化一个静态空指针
+(id)sharedInstance
{
@synchronized(self)
{
if(shared == nil)
{
shared = [[[self class] alloc]init];
}
}
return shared;
}
+(id)allocWithZone:(struct _NSZone *)zone
{
if(shared == nil)
{
shared = [super allocWithZone:zone];
}
return shared;
}
+(id)alloc
{
if(shared == nil)
{
shared = [super alloc];
}
return shared;
}
-(id)copyWithZone:(NSZone *)zone
{
return shared;
}
-(id)mutableCopyWithZone:(NSZone *)zone
{
return shared;
}
@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: