IOS-NSuserdefault简单使用

 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"])
  • 这是在userdefault里放了一对key`value(键值对)。因为userdefault是个永生的的字典,只要不remove它就永远存在。
if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"])
  • 这是在userdefault中取isfirst的value,如果没取到则返回nil,nil取非(!)代表是YES,那么也就是说是第一次启动。之后在if中放入valueForKey:@"isFirst"则程序下次启动时取isfirst的value,然后再取非(!)就是NO,则会走else的方法
    我们做项目的时候有个典故
  • userdefault中的value可以为字典但是这个字典不能含有null的value否则程序会崩溃。
    判断用户是否登录也会用到,此时还需要添加注销(remove)
-(void)click{
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"isLogin"];
     [self.navigationController popViewControllerAnimated:YES];
}

可以用来存放用户名,密码,和是否登录和第一次启动程序等。

注意的是:在NSUserDefaut中,不能保存自定义对象,只可保存如NSArray,NSDictionary,NSInteger,NSString等数据

你可能感兴趣的:(IOS-NSuserdefault简单使用)