Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
|
- // .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; \
- }
|