2011-05-06 11 views
5

Hey guys! Bir UIAlert'in, uygulamanın belirli bir miktar lansmanından sonra çıkmasını istediğim bu fikir üzerinde çalışıyorum (20 lansmandan sonra diyelim).Belirli bir miktarda paramparça ettikten sonra bir Alert apper yapmak

Ve 2 düğme olacak. Başka bir 20 lansmanından sonra uyarı yapacak sayacı sıfırlayacak biri. Ve onu yok edecek ve bir daha asla görünmeyecek bir düğme.

Bunu nasıl yapacağım konusunda herhangi bir öneriniz var mı? Bazı kodlar bana gerçekten yardımcı olabilir! :)

cevap

3

: Kullanıcı uyarıları ters ayarlamak gizlemeyi seçerseniz

[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"LaunchesCounter"]; 

: Kullanıcı 0 ile uyarı yeniden yazma sayacını göstermeye devam seçerseniz

int counter = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchesCounter"]; 
if (counter == -1) 
{ /* Cancel chekcing, cause earlier user choose hide alert */ } 
else if (counter >= 20) 
{ /* Show alert */ } 
else // Increment counter 
{ 
    ++counter; 
    [[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"LaunchesCounter"]; 
} 

-1:

[[NSUserDefaults standardUserDefaults] setInteger:-1 forKey:@"LaunchesCounter"]; 
+0

Lütfen koduma bakabilir misiniz? ve yanlış bir şey yapıp yapmadığımı görüyor musunuz? – inFever

1

Bir sayaç oluşturun. Uygulama her başlatıldığında artırın ve NSUserDefaults'da saklayın. 20'den küçük olduğundan emin olmak için her zaman kontrol edin. 20'ye eşitse, sıfırlayın ve tekrar kaydedin. Bu uygulama başladıktan kaç kez sayımını saklamak için NSUserDefaults bir göz atın fırlatma alınma sayısı

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
NSInteger launchCount = [prefs integerForKey:@"launchCount"]; 
if (launchCount > limit) { 
    // Show alert 
} else { 
launchCount ++; 
[prefs setInteger:count forKey:@"launchCount"]; 
} 

launchCount++; 
NSLog(@"Application has been launched %d times", launchCount); 
[prefs setInteger:launchCount forKey:@"launchCount"]; 
4

almak için yardımcı olur. senin AppDelegate applicationDidFinishLaunching:withOptions: yöntem çek NSUserDefaults yılında

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
uint count = [defaults integerForKey:@"num_launches"]; 

if (count > 20) { 
    // Show alert 
} else { 
    count ++; 
    [defaults setInteger:count forKey:@"num_launches"]; 
} 
+0

Bu kullanıcının sonsuza kadar uyarı vermeyi iptal etmediğini tanımladınız – 5hrp

+1

Hayır - Onun için çalışmasını yapmadım, ona NSUserDefaults'u nasıl kullanacağımı gösterdim :) (* inFever'in bir olduğunu varsayarak) – deanWombourne

İlgili konular