2 Stimmen

Auslesen von Kerndaten

Ich möchte einige Daten aus Core Data für Statistiken lesen. Mein Datenmodell ist wie in den Tutorials im Internet (ein bisschen Klicken und voilà, es ist fertig). Aber jetzt möchte ich mit den Daten arbeiten.

Meine Funktion:

-(int)calcAve {
    int ret=0;
    ret = [[stats valueForKey:@"aveScore"] intValue];
    NSLog(@"%d",ret);
    return ret;
}

stats ist das Objekt, das von der .xib mit der Klasse verbunden ist, die. Dieses Objekt ist an die Entität Stats im Datenmodell gebunden. [stats entity] gibt den richtigen Wert zurück. aveScore ist ein Objekt in der Entität stats (kein Rechtschreibfehler, ich habe es mehrfach überprüft!). Nein, der Fehler zeigt mir, dass stats ist nicht das richtige Datenmodell:

this class is not key value coding-compliant for the key

Was ist daran falsch? Gibt es eine einfache Möglichkeit, die Daten aus den Kerndaten auszulesen?

0voto

GorillaPatch Punkte 4957

Ich bin mir nicht sicher, was in diesem Fall Ihr Ziel ist. Normalerweise möchte man jedoch mehr als ein managedObject der gleichen Klasse in einem managedObjectContext speichern. Zum Beispiel mehrere Rezepturobjekte in einem MOC. Jedes Rezept hat die Eigenschaften.

Ihre Forderung nach einem Wert für den Schlüssel klingt vernünftig. Prüfen Sie, welche Klasse das Statistikobjekt hat. Wenn es nicht von der Klasse NSManagedObject oder Ihre benutzerdefinierte Unterklasse davon haben Sie ein Problem. Sie können nur speichern NSManagedObjects innerhalb von CoreData. Sie können dies wie folgt überprüfen:

NSString *className = NSStringFromClass([stats class]);
NSLog(@"class name: %@",className);

So wie Sie fragen, schlage ich vor, dass Sie versuchen, die CoreData-Dokumente noch einmal zu lesen und sich das Recipes-Beispiel in Apples Beispielcode-Bibliothek anzusehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X