利用GCD实现单例:
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
// 只执行1次的代码(这里面默认是线程安全的)
});
条件编译:
#if __has_feature(objc_arc)
// ARC模式,执行ARC下定义单例
#else
// MRC,执行MRA下定义单例
#endif