单例实现 CGD与条件编译实现单例类

利用GCD实现单例:

  • 使用dispatch_once函数能保证某段代码在程序运行过程中只被执行1

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

    // 只执行1次的代码(这里面默认是线程安全的)

});

 

条件编译:

#if __has_feature(objc_arc)

// ARC模式,执行ARC下定义单例

#else

// MRC,执行MRA下定义单例

#endif

原文地址:https://www.cnblogs.com/LDSmallCat/p/4957405.html