Цель C: Как установить ключ в NSUserDefault

Я пытаюсь хранить информацию в NSUserdefault. Я намерен показать пользователю всплывающее сообщение, если он / она запускает приложение впервые. Мой код выглядит следующим образом:

//In my view did load method
self.prefs = [NSUserDefaults standardUserDefaults];
self.firstTimeLaunchingApp = [prefs integerForKey:@"firstTimeLaunchx"];
[self tableRefresh];

//This method is called after the refresh button is clicked
-(void)tableRefresh
{
    [self displayFirstTimeMessage];

    //Other codes ommited
}


//Method to display pop up if first time user
-(void) displayFirstTimeMessage
{
    if (self.firstTimeLaunchingApp != 1 ) 
    {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Welcome!" 
                                                   message:@"Thanks for using the app!"
                                                  delegate:nil
                                         cancelButtonTitle:@"OK"
                                         otherButtonTitles:nil];

        [alert show];
        [alert release];

        [prefs setInteger:1 forKey:@"firstTimeLaunchx"]; 
        [prefs synchronize];
    }

}

Проблема, с которой я столкнулся, заключается в том, что когда я впервые запускаю приложение, появляется всплывающее окно с предупреждением (как и ожидалось), однако, когда я нажимаю кнопку обновления (которая вызывает "displayFirstTimeMessage" "снова), я все еще вижу всплывающее окно с предупреждением, которое не соответствует ожиданиям. Что-то не так с тем, как я устанавливаю ключ для NSUserDefault?

Примечание: если я остановлю и перезапущу приложение, всплывающее окно не появится.

6
задан Zhen 9 June 2011 в 10:09
поделиться