UIAlertView展示一次

时间:2012-07-08 20:16:29

标签: objective-c ios xcode uialertview

我知道这可能听起来很奇怪,我已经在之前的应用程序中工作,现在在我现在的应用程序无法使用相同的代码工作。我试图在应用程序启动时显示一次警报视图:

 if (![@"1" isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:@"alert"]]){

    [[NSUserDefaults standardUserDefaults] setValue:@"1" forKey:@"alert"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}



 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"Text here" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

[alert show];

有人会介意检查我在这里做了一些愚蠢的事情,我已经在我的应用程序中进行了交叉检查,这是有效的,并且看起来都是一样的。

1 个答案:

答案 0 :(得分:5)

如果阻止

,则显示内部警报
if (![@"1" isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:@"alert"]]){

    [[NSUserDefaults standardUserDefaults] setValue:@"1" forKey:@"alert"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"Text here" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

    [alert show];

}

或使用

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"alertShownOnce"] == NO)
{
   UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"Text here" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];
    [alert show];
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"alertShownOnce"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}