美文网首页NSUserDefaults
IOS-UserDefault相关 是否判断第一次登陆

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

作者: Roger_单 | 来源:发表于2015-12-10 14:26 被阅读5448次

    首先绘制好第一页面和第二页面,分别命名为登录前页面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相关 是否判断第一次登陆

        本文链接:https://www.haomeiwen.com/subject/ggcyhttx.html