IOS - 单例模式

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函数,该源代码即使在多线程环境下执行,也可保证百分之百安全。

1楼u010028869昨天 11:08
写的不错嘛啊继续加油
Re: lf644206005昨天 15:51
回复u010028869n谢谢前辈