首先创建一个类SingletonClass,在.h文件中写一个例方法+(SingletonClass*)shareSingleton;,并在.m文件去实现它。
在.m文件里写一个静态变量static SingletonClass *singleton = nil;
初始化时直接这样使用singleton = [[SingletonClass alloc]init];
具体的实现方法有如下2种如下:
1.
+(SingletonClass*)shareSingleton
{
if (singleton==nil) {
@synchronized(self) {
if (singleton == nil){
singleton = [[SingletonClass alloc]init];
}
}
}
return singleton;
}
2.第2种是系统的
+(SingletonClass*)shareSingleton
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
singleton = [[SingletonClass alloc]init];
});
return singleton;
}
注:Xcdoer使用小技巧 对齐方法:框选所要对齐的代码,右击选择Structure,根据需要选择自己需要的