Wie mache ich ein uialertview-Objekt nur einmal angezeigt, beim ersten start-up eine iPhone-app?
Ich bin mit der UIAlertView
um ein pop-up-geschehen, sobald die app gestartet wurde. Es funktioniert gut, aber ich will nur das pop-up erscheint auf den ersten start der app. Im moment habe ich die UIAlertView
im AppDelegate
Klasse, in applicationDidFinishLaunching
Methode. Hier ist mein code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
sleep(4);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome!" message:@"SAMPLE!!!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
Ich bin neu in der app-Entwicklung tut mir Leid, wenn das ist einfach.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um zu bestimmen, ob die app zum ersten mal ausgeführt wird, müssen Sie eine persistente variable zu speichern diese info. NSUserDefaults ist der beste Weg, um diese einfache Konfiguration Werte.
Beispielsweise
Hier
[defaults boolForKey:@"notFirstRun"]
liest einen boolean-Wert mit dem NamennotFirstRun
aus der config. Diese Werte werden initialisiert NICHT. Also, wenn dieser Wert auf NO, wir führen dieif
Zweig und die Warnung angezeigt.Nachdem es fertig ist, verwenden wir
[defaults setBool:YES forKey:@"notFirstRun"]
um dies zu ändern boolean-Wert auf JA, damit dieif
- Zweig wird nie wieder ausgeführt (angenommen, der Benutzer nicht löschen Sie die app).Verwenden NSUserDefault, die anfangs auf 0 gesetzt und die Sie auf 1 gesetzt nach dem anzeigen der Warnmeldung für die erste Zeit.
registerDefaults:
extra?3 einfache Linien
Als obige Lösung sollte in den meisten Fällen, ich möchte zu halten Sie bewusst auf unter-wie auch an diesem Punkt in der Zeit.
Apple-Dokument sagt: Die NSUserDefaults Klasse derzeit nicht unterstützt pro-host-Einstellungen. Um dies zu tun, müssen Sie die CFPreferences API. Ref NSUserDefaults
Und eine Diskussion über dieses hier