das mag echt NOOB klingen! Ich möchte überprüfen, ob der Benutzer meine Anwendung zum zweiten Mal aufruft, um die von mir verwendete Laufanzahl beizubehalten NSUserDefaults
. Ich habe den folgenden Code in meinem implementiert rootViewController
‚s - viewDidLoad
Methode:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"hello %ld", (long)[userDefaults integerForKey:@"runCount"]);
if ([userDefaults integerForKey:@"runCount"] != 1) {
//not the 2nd run
[userDefaults setInteger:1 forKey:@"runCount"];
NSLog(@"not 2nd run");
} else {
//second run or more
NSLog(@"2nd run");
}
[userDefaults synchronize];
Alles funktioniert einwandfrei, aber das Problem ist, dass beim Deinstallieren (Löschen und erneuten Installieren) der Anwendung gemäß hier und hier die Daten gelöscht werden sollten, dies jedoch nicht der Fall ist und nach der erneuten Installation der App immer noch die vorherigen Daten angezeigt werden. Ich führe meine App auf einem iOS-Simulator mit xCode6-beta aus und ziele auf die Anwendung auf iOS 8 ab
NSMutableArray
gespeichert habe, als gespeichert wurde NSArray
und das Ändern meiner App zum Absturz brachte. .. Ich empfehle, ein zu speichern NSArray
und wenn Sie es später verwenden möchten, um es zu NSMutableArray
verwenden [NSMutableArray arrayWithArray:array];
. Ich hoffe das hilft.