2012-06-18 18 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

相关问题