我是否在使UIAlertView仅第一次播放时出错?在我的didFinishLaunchingWithOptions中,我的MainViewController被实例化。因此,在MainViewController的viewDidLoad,我这样做:仅在第一次启动应用程序时显示UIAlertView
BOOL shouldAlert = [[NSUserDefaults standardUserDefaults] boolForKey:@"ShowAlert"];
if (!shouldAlert) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyAlert" message:@"Some text here" delegate:self cancelButtonTitle:@"Continue" otherButtonTitles: nil];
[alert show];
[alert release];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"ShowAlert"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
当我尝试在设备上,它不会,如果我双击Home工作,并击中减号应用从后台删除它旁边模式(我认为这是双击是正确的?)。因为我这样做后,弹出窗口再次出现。如果我不这样做,那么警报只会显示一次。这是预期的行为?谢谢一堆。
是否行得通?如果是这样,你可能没有做错任何事情。从这里看起来很不错,只是你的'shouldAlert'变量读不好。就个人而言,我会将其改为'hasOpenedPreviously',或者留下名字并将所有布尔值转换。 –
@Patrick Perini不,它不工作,因为当我双击家里,然后从后台模式删除应用程序,警报弹出备份。我应该将其添加到我的帖子中。 – Crystal
这很奇怪,因为终止应用程序不应该混淆'NSUserDefaults'。我会尝试一些关于'NSUserDefaults'的日志语句,以获得更多关于你的布尔值是否坚持的信息。 –