—-单例模式
通过单例模式可以保证系统中的一个类只有一个实例。
要实现单例模式,需要重写allocWithZone:方法
单例模式代码示例:
@interface SingleDemo : NSObject
+ (instancetype)sharedSingleObject;
@end
@implementation SingleDemo
+ (instancetype)sharedSingleObject {
return [[self alloc] init];
}
+ (instancetype)allocWithZone:(struct _NSZone *)zone {
static SingleDemo *demoObject;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
//该代码块中的内容仅会被加载一次
demoObject = [super allocWithZone:zone];
});
return demoObject;
}
@end