怎么使用dispatch_once优化代码性能

如何使用dispatch_once优化代码性能

有些变量只需要初始化一次(如从文件中读取配置参数,读取设备型号等等),可以使用dispatch_once来进行读取优化,保证只调用API一次,以后就只要直接访问变量即可


范例如下:


static BOOL isTestMode;


+ (BOOL)isTestMode

{

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        NSNumber* obj = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFResourceTest"];

        isTestMode = [obj boolValue];

    });

    

    return isTestMode;

}