IOS --- 单例模式

dispatch_once

dispatch_once函数是保证在应用程序执行中只执行一次指定处理的API。下面这种经常出现的用来进行初始化的源代码可通过dispatch_once函数简化:

static int initialized = NO;
if (initalized == NO){
    /*
    *初始化
    */
    initialized = YES;
}

如果使用dispatch_once函数,则源代码改为:

static dispatch_once_t pred;
dispatch_once (&pred, ^{
    /*
    *初始化
    */
});

源代码看起来没有太大的变化。但是通过dispatch_once函数,该源代码即使在多线程环境下执行,也可保证百分之百安全。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。