判断是否是第一次进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两种情况了。

 

posted @ 2015-12-24 17:12  小虎叫我大狗熊  阅读(419)  评论(0编辑  收藏  举报