1 // 单例的声明 2 // ## 拼接 3 // 回车 换行 4 #define singleton_interface(className) 5 + (instancetype)shared##className; 6 7 // 单例实现 8 #define singleton_implementation(className) 9 static className *manager = nil; 10 + (instancetype)shared##className { 11 static dispatch_once_t onceToken; 12 dispatch_once(&onceToken, ^{ 13 manager = [[[self class] alloc] init]; 14 }); 15 return manager; 16 }