2012-06-18 55 views
0

我試圖找出一種方式來獲得出現在我的視圖控制器的一個消息被選擇的屏控制器時(這種觀點不是第一在應用程序上查看,所以我不能在啓動時)。我只希望它出現一次,並且在重新選擇該視圖時不再出現;不過,如果應用程序重新啓動,我希望它再次出現。顯示警告信息只有一次,但對應用程序啓動再次重現

到目前爲止,我能得到它沒有任何問題出現一次,而使用的應用程序,這是我想要的,因爲我經常回去到其他視圖並返回它不會再彈出。我遇到的問題是,當我再次啓動應用程序時,我希望在選擇適當的視圖時顯示警告消息,但由於存儲在NSUserDefaults中的數據不會顯示。

任何想法?這似乎在viewWillAppear中:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSString *alertshown = [defaults stringForKey:@"alertshown"]; { 
     if (alertshown == nil) { 

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Press the Code button" message:@"Take a photo of this screen and show it to get your code" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

      [alertView show]; 
      [alertView release]; 

      [defaults setObject:@"alertwasdisplayed" forKey:@"alertshown"]; 
     }} 
+0

你是什麼意思的應用程序啓動?應用程序從背景轉換到前景或應用程序的重新啓動? – Ahmed

回答

0

根據自己的喜好,你需要使用你的應用程序的AppDelegate中的:

- (void)applicationDidEnterBackground:(UIApplication *)application; 

此委託方法將讓你知道當你的應用程序進入後臺。您在委託方法中編寫的代碼將爲:

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"alertshown"]; 

希望這會有所幫助。

+0

謝謝艾哈邁德,它完美的作品。我有點新手,只是開始理解代表的工作方式,而當我這樣做時,它只會幫助我更多。 –

+0

不客氣:) – Ahmed

相關問題