标签:
它可以保证某个类创建出来的对象永远只有一个
作用
减少内存开销
如果有一些数据 整个程序中都用得上 使用同一份资源[UIApplication shareApplication] [UIDevice currentDevice] [NSUserDefaults Stander]
一般工具类使用单例模式
ARC
MRC
//zone 系统分配给app的内存空间
+(instancetype)allocWithZone:(struct _NSZone *)zone{
if (!_one) {
static dispatch_once_t onceToken;
// @synchronized(_one) {
//
// }
dispatch_once(&onceToken, ^{//为了线程安全
_one=[super allocWithZone:zone];
});
}
return _one;
}
-(id)init{
static dispatch_once_t once;
dispatch_once(&once, ^{
_one =[super init];
});
return _one;
}
+(instancetype)shareSoundSoundTool
{
return [[self alloc]init];
}
-(oneway void)release{
}
-(id)retain
{
return self;
}
-(NSUInteger)retainCount
{
return 1;
}
-(void)dealloc{
}
标签:
原文地址:http://www.cnblogs.com/xiezefeng/p/5092403.html