userDefaults相关

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;
}
    
  • 判断应用是否是第一次登录
     [NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]
    
  • 这是在userDefaults放了一对key value(键值对)只要不删永远存在
if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]) {
  • 这句话代表从userDefaults取【isFirst】对应的key/value,如果没取到,返回nil,nil取【!】代表yes,代表运用第一次启动。
 setValue:@"YES" forKey:@"isFirst"];
  • 则程序下次启动的时候【isfirst】从userDefaults取【isFirst】的value就为字符串@“yes”,然后取【!】代表no就会走else的内容

  • 典故:
    userDefaults中的value可以为字典 但字典中不能含有null的value,如果把含有null的value放入userDefaults那么程序会崩。

你可能感兴趣的:(userDefaults相关)