if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]) {
AppGuidViewController *appGuid = [[AppGuidViewController alloc] initWithImageArray:@[@"guies01",@"guies02",@"guies03"] startBtnDistanceWithBottomArray:@[@70,@100,@110,@120] needLoadVC:self.viewController];
self.window.rootViewController = appGuid;
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"isFirst"];
}else{
self.window.rootViewController = self.viewController;
}
return YES;
}
- 判斷應(yīng)用是否是第一次登錄
[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]
- 這是在userDefaults放了一對key value(鍵值對)只要不刪永遠(yuǎn)存在
if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]) {
- 這句話代表從userDefaults取【isFirst】對應(yīng)的key/value,如果沒取到,返回nil,nil取【!】代表yes,代表運(yùn)用第一次啟動。
setValue:@"YES" forKey:@"isFirst"];
則程序下次啟動的時候【isfirst】從userDefaults取【isFirst】的value就為字符串@“yes”,然后取【!】代表no就會走else的內(nèi)容
典故:
userDefaults中的value可以為字典 但字典中不能含有null的value,如果把含有null的value放入userDefaults那么程序會崩。