Bevor jemand sagt, dass dies eine Frage ist, die schon oft gestellt wurde, habe ich etwa 20 verschiedene Antworten durchgelesen und alles ausprobiert, was ich gefunden habe. Trotzdem habe ich erst vor etwa 5 Tagen mit Objective-C angefangen, also gibt es wahrscheinlich eine sehr einfache Lösung.
Es scheint, dass NSUserDefaults kein Array aus der Standard-Property-Liste lädt, obwohl es auf viele verschiedene Arten aufgerufen wird. Bevor ich weitermache, hier ist mein Code zum Lesen des Arrays:
fishArrayMutable = [[NSMutableArray alloc] initWithArray:(NSArray*)[defaults objectForKey:@"fishArray"] copyItems:TRUE];
if (fishArrayMutable == nil)
{
fishArrayMutable = [[NSMutableArray alloc] init];
UIAlertView *alert = [[UIAlertView alloc] init];
[alert setTitle:@"fishArray = nil"];
[alert addButtonWithTitle:@"Ok"];
[alert show];
[alert release];
}
Und hier ist mein Code für das Schreiben des Arrays:
[defaults setObject:fishArrayMutable forKey:@"fishArray"];
[defaults synchronize];
Das wird langsam zu einem sehr frustrierenden Problem, und ich habe versucht, das Problem zu isolieren, und bin zu dem Schluss gekommen, dass es beim Lesen liegt. Das Mutable Array ist in der Header-Datei deklariert. Bitte helfen Sie mir, das beschäftigt mich jetzt seit etwa 6 Stunden...