ios单利的完整使用实例及销毁宏定义-创新互联
如下所示:

//下面这段宏考过去直接用
#define SYNTHESIZE_SINGLETON_FOR_HEADER(className) \
\
+ (className *)sharedInstance;\
+ (void)destroyInstance;
//在单例生成之前onceToken = 0,在单例生成之后onceToken = -1了,之后一直保持-1这个值,知道这个之后我想你应该有思路了
#define SYNTHESIZE_SINGLETON_FOR_CLASS(className) \
\
static className *shared##className = nil; \
static dispatch_once_t onceToken;\
+ (className *)sharedInstance\
{\
return [[self alloc] init];\
}\
+ (className *)allocWithZone:(struct _NSZone *)zone\
{\
dispatch_once(&onceToken, ^{\
shared##className = [super allocWithZone:zone];\
});\
return shared##className;\
}\
- (className *)copyWithZone:(NSZone *)zone\
{\
return shared##className;\
}\
- (className *)mutableCopyWithZone:(NSZone *)zone\
{\
return shared##className;\
}\
+ (void)destroyInstance {\
shared##className = nil;\
onceToken = 0;\
}\另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:ios单利的完整使用实例及销毁宏定义-创新互联
网站链接:http://www.scyingshan.cn/article/poijp.html


咨询
建站咨询
