IOS-UserDefault相关 是否判断第一次登陆

首先绘制好第一页面和第二页面,分别命名为登录前页面loginBtn登陆后页面loginBtn2.

  • 先取个 vlueForKey:@"isFirst"
    第一次启动时给UserDefaults中放了一对键值对,只要你不remove,它将永远存在。

 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;
    }
  • 作为判断应用是否是第一次登陆
[NSUserDefault standardUserDefault] valueForKey:@"isFirst"]
  • 这是在UserDefault中放了一对key/value,只要你不remove它就永远存在
if (![[NSUserDefaultsstandardUserDefault]valueForKey:@"isFirst"])
  • 这句话代表从UserDefault取【isFirst】对应的key/value,如果没取到,返回nil,nil取【!】代表YES.代表运用第一次启动。
    之后在if中放入
    [[NSUserDefault standardUserDefault] setValue:@"YES" forKey:@"isFirst"];

  • 则程序下次启动的时候【isFirst】从UserDefault取【isFirst】的value就为字符串@"YES",然后取【!】代表NO.就会走else的内容.
    *典故: UserDefault的Vuluw可以为字典和数字但里面不能有null value,如果你要把含有null value放入UserDefault中程序会崩。

  • 判断用户是否登陆状态 此时还需要添加注销(remove)

 if ([[NSUserDefaults standardUserDefaults]valueForKey:@"isFirst"] ==nil) {
        UINavigationController *navc = [[UINavigationController alloc] initWithRootViewController:[[LoginViewController alloc] init]];
        [self.navigationController presentViewController:navc animated:YES completion:nil];
    }else{
        [self.navigationController pushViewController:[[LandViewController alloc] init] animated:YES];
    }

  • UserDefault中可以存人个人信息 个人密码(有点不安全)是第一次登陆启动等.....

你可能感兴趣的:(IOS-UserDefault相关 是否判断第一次登陆)