判断是否是第一次进APP
判断是否是第一次进入APP
IOS开发中,可能需要去做一个导航页,介绍版本啊,新功能什么的。
这类导航页通常只会出现一次,也就是第一次安装(后者更新后)。在IOS开发中怎么去控制?之前查资料,有人介绍说新建个文件,去找这个文件,没有的话就是第一次进入,有的话就是已经装过了。
下面我介绍我了解的一种方式。
// 添加向导,判断是否是第一次进入APP NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"key"]; if (![value isEqualToString:@"1"]) { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; if (![defaults objectForKey:@"intro_screen_viewed"]) { self.introView = [[ABCIntroView alloc] initWithFrame:self.view.frame]; self.introView.delegate = self; self.introView.backgroundColor = [UIColor greenColor]; [self.view addSubview:self.introView]; } [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"key"]; [[NSUserDefaults standardUserDefaults] synchronize]; }
中间红色的,是我自己写的一个导航也得初始化,后面的博客会有介绍。
NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。
因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。
NSUserDefaults支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型。
所以利用NSUserDefaults记录一个key,每次进入app去取key对应的值,第一次进入的话,key是没有的,所以可以执行想要做的,然后去设定一个值给key,以后再进入的时候找key这个值就会存在了,所以可以区分第一次进入APP和之后的进入APP两种情况了。