2011-05-06 6 views
5

हे दोस्तों! मैं इस विचार पर काम कर रहा हूं जहां मैं ऐप की एक निश्चित लॉन्च के बाद यूआईएलर्ट को पॉप अप करना चाहता हूं (चलो 20 लॉन्च के बाद कहें)।लैनुचेस की एक निश्चित राशि के बाद एक अलर्ट एपर बनाना

और 2 बटन होने जा रहे हैं। एक ऐसा काउंटर रीसेट करेगा जो अलर्ट को 20 लॉन्च के बाद दिखाई देगा। और एक बटन जो इसे गायब कर देगा और फिर कभी दिखाई नहीं देगा।

क्या आपके पास इस बारे में कोई सुझाव है कि मैं यह कैसे करूं? कुछ कोड वास्तव में मेरी मदद कर सकता है! :)

उत्तर

3

अपने AppDelegate applicationDidFinishLaunching:withOptions: विधि जांच NSUserDefaults में:

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"]; 
} 

उपयोगकर्ता चुन 0 के साथ चेतावनी पुनर्लेखन काउंटर दिखाने के लिए जारी रखते हैं:

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

उपयोगकर्ता को छिपाने के लिए अलर्ट के लिए काउंटर सेट का निर्णय लेते हैं -1:

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

क्या आप कृपया मेरे कोड को देख सकते हैं और देखें कि मैंने कुछ गलत किया है? – inFever

1

एक काउंटर सेट अप करें। ऐप लॉन्च होने पर इसे बढ़ाएं और इसे NSUserDefaults में स्टोर करें। यह सुनिश्चित करने के लिए हर बार जांचें कि यह 20 से कम है। यदि यह 20 के बराबर है तो फिर से रीसेट करें और स्टोर करें। इस प्रक्षेपण गणना प्राप्त करने में

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

एप्लिकेशन शुरू कर दिया है की संख्या की गिनती स्टोर करने के लिए NSUserDefaults पर एक नजर डालें मदद करता है।

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

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

आप परिभाषित नहीं करते हैं कि उपयोगकर्ता हमेशा के लिए चेतावनी रद्द कर रहा है – 5hrp

+1

नहीं - मैंने उसके लिए अपना काम नहीं किया है, मैंने उसे दिखाया है कि NSUserDefaults का उपयोग कैसे करें :) (* मानते हुए कि वह कोई भी है) – deanWombourne

संबंधित मुद्दे