首次开幕赛事

时间:2010-09-21 10:43:22

标签: iphone objective-c ipad plist uialertview

在我的iPad应用程序中,我有一个UIAlertView在启动时弹出,但我只想在用户第一次启动应用程序时弹出。它是一个设置提示,说,这是你第一次,你想设置吗?

我该怎么做?我听说最好写出一个plist文件并保存一个bool值,但我该如何处理呢?

感谢。

2 个答案:

答案 0 :(得分:3)

修改以下代码以满足您的需求;您可以将它放在根视图控制器viedDidLoad方法中。代码会跟踪应用程序的首次运行,启动次数以及是否已向用户显示设置提示。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if (![defaults objectForKey:@"firstRun"]) {

    // this is the first run 
    // store this information

    [defaults setObject:[NSDate date] forKey:@"firstRun"];
    [defaults setInteger:1 forKey:@"launches"];
    [defaults setBool:NO forKey:@"setupPromptHasBeenShown"];
    [defaults synchronize];

    // now prompt the user to setup the app 
    // once the the prompt has been shown, 
    // if the user actually decides to setup the app, 
    // store this information again, so you will not prompt him/her again
    [defaults setBool:YES forKey:@"setupPromptHasBeenShown"];
    [defaults synchronize];

}
else{
     // this is not the first run
     NSInteger daysSinceInstall = [[NSDate date] timeIntervalSinceDate:[defaults objectForKey:@"firstRun"]] / 86400;
     NSInteger launches = [defaults integerForKey:@"launches"];
     [defaults setInteger:launches+1 forKey:@"launches"];
     [defaults synchronize];

}

答案 1 :(得分:1)