有些變量只需要初始化一次(如從文件中讀取配置參數,讀取設備型號等等),可以使用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;
}