有些变量只需要初始化一次(如从文件中读取配置参数,读取设备型号等等),可以使用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;
}