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放了一对key value(键值对)只要不删永远存在
if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]) {
  • 这句话代表从userDefaults取【isFirst】对应的key/value,如果没取到,返回nil,nil取【!】代表yes,代表运用第一次启动。
 setValue:@"YES" forKey:@"isFirst"];
  • 则程序下次启动的时候【isfirst】从userDefaults取【isFirst】的value就为字符串@“yes”,然后取【!】代表no就会走else的内容

  • 典故:
    userDefaults中的value可以为字典 但字典中不能含有null的value,如果把含有null的value放入userDefaults那么程序会崩。

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

推荐阅读更多精彩内容

  • 判断用户是否第一次登录 判断应用是否是第一次启动 [[NSUserDefaults standardUserDef...
    必须这么打阅读 3,101评论 0 0
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,822评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,380评论 19 139
  • 判断用户是否第一次登录 判断应用是否是第一次启动 [[NSUserDefaults standardUserDef...
    徐大拿阅读 1,794评论 0 0
  • 见www.jianshu.com/p/59279b018217 Application can be killed...
    heatbeats阅读 8,207评论 0 0