+entityForName: nil ist nicht eine juristische NSManagedObjectContext parameter der Suche für die Entität name 'Scores'
Ich bin neu in Objective-C, iOS und CoreData und ich bin versucht derzeit, speichern einige Daten zu meiner Person in CoreData.
Wenn Sie versuchen zu finden, die Einheit mit insertNewObjectForEntityForName
, wie es aussieht ist es die Rückkehr nil
basiert auf dem folgenden Fehler.
Jede Hilfe wäre sehr geschätzt werden!
Fehler:
2015-04-06 17:46:12.274 Bugland[18623:607] *** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Scores''
LeaderboardViewController.m
JPAppDelegate *JPAppDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context =[JPAppDelegate managedObjectContext];
NSManagedObject *newScore;
newScore = [NSEntityDescription
insertNewObjectForEntityForName:@"Scores"
inManagedObjectContext:context];
[newScore setValue: scoreToAddAsString forKey:@"score"];
NSError *error;
[context save:&error];
- Debug, überprüfen Sie die
context
vorhanden ist. Alle Fehler protokolliert, die vor dem crash? - Was ist der beste Weg zu prüfen, den Wert und/oder wenn Kontext vorhanden ist? Gerade melden Sie es an die Konsole oder?
- Sicher, oder fügen Sie einen Haltepunkt und
po
- Ok also wenn ich kommentieren Sie alles unter, wo ich definieren
*context
ich nicht bekommen, die Abstürzen, und wenn ich versuche, melden Sie den Kontext, ich bekomme nichts auf die Konsole. Hmm - Also Sie müssen sich auf + zeigen Sie Ihre
managedObjectContext
Methode der Umsetzung und sehen Sie, wenn Sie Ihre Core-Data-stack an alle - Hey Wain, danke. Hier ist eine Zusammenfassung zu erklären, das setup. gist.github.com/jamespember/4aee343d73ebcd7f7b3f Lassen Sie mich wissen, wenn Sie sehen, dass alles scheint zu fehlen! Vielen Dank 🙂
- Was ist sonst noch in JPAppDelegate.m ?
- Hier gehen Sie gist.github.com/jamespember/05d853353515e26ffeaa
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, also, nicht, dass die app delegieren, sollte in der core-data-stack, aber in dem moment, in dem Sie es tun, und die Instanz, die Inhaberin des core-data-stack benötigt zum erstellen des stack - im moment ist nichts zu tun.
Alles, was Sie haben, ist
welche erstellt nur einige accessor-Methoden. Nichts setzt diese Instanz-Variablen.
Sollten Sie einige code wie der unten behemoth, siehe auch diese.