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中放入键值对,它是永生的,只要不Remove,永远存在在应用程序当中
  • if (![[NSUserDefaults standardUserDefaults]valueForKey:@"isFirst"])
    这句话代表从UserDefaults中取[isFirst]对应的value
    如果没取到返回为nil[!]代表YES,这时应用是第一次启动,之后在if中放入[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"],则程序下次启动时,[isFirst]从UserDefaults取[isFirst]的value就为字符串“@YES”,然后取[!]代表NO,就会走else的内容.

  • 典故
  • UserDefaults中的value可以为字典,但是不能含有nullvalue,如果把含有nullvalue放入UserDefaults中,程序会崩溃。
  • 判断用户登陆前还是登陆后
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];
    }

  • 总结
  • userDefaults中可以存放:登陆信息,用户信息,用户名密码,是否第一次登陆等简单的信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 判断用户是否第一次登录 判断应用是否是第一次启动 [[NSUserDefaults standardUserDef...
    徐大拿阅读 1,794评论 0 0
  • 判断用户是否第一次登录 判断应用是否是第一次启动 [[NSUserDefaults standardUserDef...
    必须这么打阅读 3,101评论 0 0
  • 判断应用是否是第一次登陆 [NSUserDefaults standardUserDefaults] valueF...
    瞅你咋地阅读 1,950评论 0 0
  • 判断应用是否是第一次登录 [NSUserDefaults standardUserDefaults] valueF...
    小布丁儿阅读 1,605评论 0 0
  • UserDefaults默认值如何进行判断? 判断应用是否第一次运用 判断应用是否是第一次启动 [[NSUserD...
    shanshan950224阅读 7,492评论 1 0