我是否在使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'的日誌語句,以獲得更多關於你的布爾值是否堅持的信息。 –