Ich bin neu in CoreData, habe ein paar Tutorials gelesen, aber sind leer ausgegangen. Die meisten Tutorials haben sich darauf konzentriert, aus CoreData eine Tabellenansicht zu füllen, was ich gerade nicht mache.Abrufen des neuesten Elements aus CoreData in Swift
So stelle ich die Daten in CoreData ein. Alle Typen sind Double
mit Ausnahme von Datum, das ein NSDate
let appDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
let managedObjectContext = appDelegate.managedObjectContext
let entityDescription = NSEntityDescription.entityForName("Meditation", inManagedObjectContext: managedObjectContext!)
let meditation = NSManagedObject(entity: entityDescription!, insertIntoManagedObjectContext: managedObjectContext!)
meditation.setValue(settings.minutes, forKey: "length")
meditation.setValue(settings.warmup, forKey: "warmup")
meditation.setValue(settings.cooldown, forKey: "cooldown")
meditation.setValue(NSDate(), forKey: "date")
// fetch stuff from CoreData
var request = NSFetchRequest(entityName: "Meditation")
var error:NSError? = nil
var results:NSArray = managedObjectContext!.executeFetchRequest(request, error: &error)!
for res in results {
println(res)
}
Hier ist, was ich versuche, um die Ergebnisse zu erhalten, zu tun, aber ich bin nicht in der Lage, Dinge zu greifen wie .minutes
, .date
, etc. Ich weiß, dass ich Ich bekomme auch nicht das letzte Objekt, ich habe nur versucht, zuerst Attribute auf dem Objekt auszudrucken.
ich Hilfe lieben würde, wie nur als auch das neueste Objekt zu holen, wie zeige es Attribute
Dank!
Martin, das ist eine tolle Antwort. Vielen Dank. Ich habe die Unterklasse vermisst, die wirklich hilfreich ist. Eine Sache: Ich bekomme einen Fehler in der Zeile 'ManagedObjectContext.save (& Fehler)' bezogen auf die '& Error' Fehlerzeiger –
@ZackShapiro: Sie benötigen' Var Fehler: NSError? 'Wie in der Abrufanforderung Ich habe es dem Code hinzugefügt. –
Danke für das Update. Nachdem ich all dies ausgeführt habe, bekomme ich die Werte '.length' und' .date' auszudrucken, dann trifft es einen Haltepunkt und sagt mir 'CoreData: warning: Kann die Klasse 'Meditation' für die Entität 'Meditation' nicht laden . Die Klasse wurde nicht gefunden und verwendet stattdessen das Standard-NSManagedObject.' –