美文网首页
UserDefaults

UserDefaults

作者: 徐大拿 | 来源:发表于2015-12-10 14:23 被阅读0次

    判断用户是否第一次登录

    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] setValue:@"YES" forKey:@"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;
      这句话代表从UserDefaults中取(isfirst)对应的key/ value,如果没取到,那就返回(nil)nil取非(!)代表yes,那么就代表应用是第一次启动。之后在if中放[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"isFirst"];
    • 则程序下次再启动的时候(isfirst)从UserDefaults取(isfirst)的value就为字符串@"yes",然后取(!),代表no,就会走else的内容。
    • 典故:
      userDefaults中的value可以为字典 但字典中不能含有null的value,如果把含有null的value放入userDefaults那么程序会崩。
    • 判断用户是否为登录状态
    [button removeFromSuperview];
     [writeButton removeFromSuperview];
     [ll removeFromSuperview];
        if ([[NSUserDefaults standardUserDefaults] objectForKey:@"isLogin"]) {
            // 登陆后的页面效果
            [self loginBtn2];
    }else{
            [self loginBtn];
               }
    
    • 如果登录走[self loginBtn2]; else(没有登录)则[self loginBtn];
    • UserDefaults可以存放个人信息,用户名密码,是否第一次登录,是否第一次启动等。

    相关文章

      网友评论

          本文标题:UserDefaults

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