iOS 单例对象的创建
2017-01-13 本文已影响4人
就叫我Kuzan
static PSDrawerManager *psManager = nil;
+(PSDrawerManager *)shareManager{
if (psManager == nil) {
psManager = [[PSDrawerManager alloc] init];
}
return psManager;
}
+(id)allocWithZone:(struct _NSZone *)zone{
return [self shareManager];
}
使用GCD
static PSDrawerManager *psManager = nil;
+(PSDrawerManager *)shareManager{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
psManager = [[super allocWithZone:NULL] init];
});
return psManager;
}
+(id)allocWithZone:(struct _NSZone *)zone{
return [self shareManager];
}