在一定数量的启动后显示警报

时间:2011-05-06 11:03:29

标签: iphone objective-c uialertview alert

嘿伙计们! 我一直在研究这个想法,我希望在推出一定数量的应用程序之后弹出UIAlert(假设在20次发布后)。

还有2个按钮。一个将重置计数器,将在另外20次发射后显示警报。 一个按钮会让它消失,再也不会再出现了。

你们有什么建议我会这样做吗? 一些代码可以真正帮助我! :)

3 个答案:

答案 0 :(得分:4)

查看NSUserDefaults以存储应用程序启动次数的计数。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
uint count = [defaults integerForKey:@"num_launches"];

if (count > 20) {
    // Show alert
} else {
   count ++;
   [defaults setInteger:count forKey:@"num_launches"];
}

答案 1 :(得分:3)

在AppDelegate applicationDidFinishLaunching:withOptions:方法中检查NSUserDefaults

int counter = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchesCounter"];
if (counter == -1)
{ /* Cancel chekcing, cause earlier user choose hide alert */ }
else if (counter >= 20)
{ /* Show alert */ }
else // Increment counter
{
    ++counter;
    [[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"LaunchesCounter"];
}

如果用户选择继续显示警告重写计数器0:

[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"LaunchesCounter"];

如果用户选择隐藏警报设置计数器为-1:

[[NSUserDefaults standardUserDefaults] setInteger:-1 forKey:@"LaunchesCounter"];

答案 2 :(得分:1)

设置一个计数器。每次应用启动时都会增加它并将其存储在NSUserDefaults中。每次检查以确保它小于20.如果它等于20,则重置并再次存储。 这有助于获得启动计数

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSInteger launchCount = [prefs integerForKey:@"launchCount"];
if (launchCount > limit) {
     // Show alert
} else {
 launchCount ++;
 [prefs setInteger:count forKey:@"launchCount"];
}

launchCount++;
NSLog(@"Application has been launched %d times", launchCount);
[prefs setInteger:launchCount  forKey:@"launchCount"];