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 - viewDidLoadMethode:
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
NSMutableArraygespeichert habe, als gespeichert wurde NSArrayund das Ändern meiner App zum Absturz brachte. .. Ich empfehle, ein zu speichern NSArrayund wenn Sie es später verwenden möchten, um es zu NSMutableArrayverwenden [NSMutableArray arrayWithArray:array];. Ich hoffe das hilft.