首页 > 代码库 > IOS Singleton(单例)

IOS Singleton(单例)

 

 

  Singleton.h

// .h
#define singleton_interface(class) + (instancetype)shared##class;

// .m
#define singleton_implementation(class) static class *_instance; + (id)allocWithZone:(struct _NSZone *)zone {     static dispatch_once_t onceToken;     dispatch_once(&onceToken, ^{         _instance = [super allocWithZone:zone];     });     return _instance; } + (instancetype)shared##class {     if (_instance == nil) {         _instance = [[class alloc] init];     }     return _instance; }

 

IOS Singleton(单例)