2012-10-31 70 views
0

我有一个简单的UIAlertView显示用户运行应用程序。它有这样的结构:UIAlertView显示多次

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Welcome!", "") 
               message:NSLocalizedString(@"This is a welcome message.", "")        
               delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles: nil]; 
[alert show]; 
[alert release]; 

问题是,我如何定制它来显示每5个运行的例子?

在此先感谢;)

+0

'每5次运行' - 你的意思是每5次应用程序开始执行? – CAMOBAP

+0

你可以更清楚一点:“每5次运行” – mozkarakoc

+0

是的,每5次应用程序开始执行;)它在viewDidLoad上。 – Icarox

回答

1

您可以使用NSUserDefaults存储应用程序的执行计数键AppRunCount(你能介绍一下你自己的键名):

int runCount = [[NSUserDefaults standardUserDefaults] integerForKey:@"AppRunCount"] + 1 

[[NSUserDefaults standardUserDefaults] setInteger:runCount forKey:@"AppRunCount"]; 

if (runCount <= 5) { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Welcome!", "") 
              message:NSLocalizedString(@"This is a welcome message.", "")        
              delegate:nil 
            cancelButtonTitle:@"OK" 
            otherButtonTitles: nil]; 
    [alert show]; 
    [alert release]; 
} 

你可以只添加上面viewDidLoad代码

+0

好的作品完美。现在,如果我想让警报在第一,第六,第十一,......每5次应用程序启动时显示,该怎么办? – Icarox

+0

只是将条件从'runCount <= 5'运行到'runCount%5 == 1' if''' – CAMOBAP

+0

真棒!!!!感谢CAMOBAP! – Icarox

2

会有像

- (void)applicationDidBecomeActive:(UIApplication *)application 
0123在AppDelegate类的方法

现在,在这个方法中创建一个NSUserDefaults的,让一个整数,并增加该整数并将其保存在NSUserDefaults的

现在每次应用程序启动时该方法将被调用,整数将递增

现在做,如果条件在方法如下

if(your integer which has nsuserdefaults >=5) 
{ 
    your alertview 
    again here make your nsinteger to Zero which is stored in nsuserdefaults 
    your integer which has nsuserdefaults =0 
} 

这是你的第二个问题的答案,每5次应用程序运行后。警报会弹出 让我知道它工作与否.. !!!! 快乐编码!

+0

这也适用,并且第一个将代码更改为runCount%5 == 1也适用。谢谢NiravPatel – Icarox

+0

不客气的朋友....我可以有一些积分吗??? !!!! – NiravPatel