宏定义–生成单例
#define SHARE_INSTANCE(class) \
+(instancetype)shareInstance \
{ \
static dispatch_once_t class##_predicate; \
static class *class##_instance = nil; \
dispatch_once(&class##_predicate, \
^() { \
class##_instance = [[class alloc] init]; \
}); \
return class##_instance; \
}