Jestem nowy w CoreData, przeczytałem kilka tutoriali, ale przyszedłem z pustymi rękami. Większość samouczków koncentruje się na pobieraniu danych z CoreData w celu zapełnienia widoku tabeli, co nie jest obecnie tym, co robię.Pobieranie najnowszego elementu z CoreData w Swift
Oto jak ustawiam dane w CoreData. Wszystkie typy są Double
z wyjątkiem daty, która jest 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)
}
Oto, co usiłuję zrobić, aby uzyskać wyniki, ale nie jestem w stanie uzyskać dostęp do rzeczy, jak .minutes
, .date
itp wiem również nie otrzymuję poprawnie ostatniego elementu, próbowałem najpierw wydrukować atrybuty obiektu.
chęcią pomocy, w jaki sposób pobrać tylko najnowsze obiektu, a także pokazać, że to atrybuty
Dzięki!
Martin, to jest niesamowita odpowiedź. Dziękuję Ci. Brakowało mi podklasy, która jest naprawdę pomocna. Jedna rzecz: Dostaję błąd na linii 'managedObjectContext.save (& error)' związany ze wskaźnikiem błędu '& error' –
@ZackShapiro: Będziesz potrzebował' var error: NSError? 'Jak w żądaniu pobierania , Dodałem go do kodu. –
Dzięki za aktualizację. Po uruchomieniu tego wszystkiego, dostaję go, aby wydrukować wartości '.length' i' .date', a następnie uderza w punkt przerwania i informuje mnie 'CoreData: ostrzeżenie: Nie można załadować klasy o nazwie" Medytacja "dla jednostki" Medytacja " . Nie znaleziono klasy, używając domyślnego NSManagedObject. " –