2012-10-31 95 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