我想在用户第一次打开我的应用程序时做一个UIalert,向他们介绍基本功能,但是我不希望它在每次打开应用程序或重新加载主屏幕时都显示出来。我已经在其他应用程序中看到了这一点,但不知道最好的解决方法是什么。如果有人能指出我正确的方向,将不胜感激。

最佳答案

将其粘贴到-(void)applicationDidFinishLaunching:(UIApplication)应用程序方法中的App Delegate中

BOOL hasRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"FirstRun"];
if (!hasRunBefore) {

    UIAlertView *firstRun = [[UIAlertView alloc] initWithTitle:@"Virgin" message:@"Hello World!!" delegate:nil cancelButtonTitle:@"Done" otherButtonTitles:nil];
    [firstRun show];
    [firstRun release];


    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstRun"];
}
else if (hasRunBefore) {

//can do some else if run before

}


基本上,此操作是在NSUserDefaults中检查键“ FirstRun”,类似地,可以将其修改为版本号或类似名称,例如,是否在每次更新或其他更新后需要新警报。然后,它检查密钥是否不存在(!hasRunBefore)以及它是否不存在(因此从未运行过),它创建一个UIAlertView,然后为该密钥设置YES(还在创建该ket)

10-08 14:59