下面是是我用的一个方法
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface Singleton : NSObject
/*
* 创建单例
*/
+ (Singleton *) shareManager;
@end
#import "Singleton.h"
@implementation Singleton
+ (Singleton *)shareManager{
static Singleton *_Singleton;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_Singleton = [[Singleton alloc]init];
});
return _Singleton;
}
@end
使用dispatch_once_t可以保证[[Singleton alloc]init]只会被分配一次空间,并且只会被初始化一次。