Tôi mới vào CoreData, đã đọc một vài hướng dẫn nhưng đã đưa ra tay trống. Hầu hết các hướng dẫn đều tập trung vào việc tìm nạp từ CoreData để điền vào một tableview, đó không phải là những gì tôi đang làm vào lúc này.Tìm nạp mục gần đây nhất từ CoreData trong Swift
Đây là cách tôi thiết lập dữ liệu trong CoreData. Tất cả các loại là Double
trừ ngày mà là một 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)
}
Dưới đây là những gì tôi đang cố gắng để làm gì để có được kết quả, nhưng tôi không thể truy cập những thứ như .minutes
, .date
, vv Tôi biết tôi 'm cũng không đúng cách nhận được mục cuối cùng, tôi chỉ cố gắng in ra các thuộc tính trên đối tượng đầu tiên.
Tôi rất muốn giúp đỡ về làm thế nào để lấy chỉ các đối tượng gần đây nhất cũng như hiển thị nó là thuộc tính
Cảm ơn!
Martin, đây là một câu trả lời tuyệt vời. Cảm ơn bạn. Tôi đã bỏ lỡ lớp con thực sự hữu ích. Một điều: Tôi gặp lỗi trên dòng 'managedObjectContext.save (& error)' liên quan đến con trỏ lỗi '& error' –
@ZackShapiro: Bạn sẽ cần' var error: NSError? 'Như trong yêu cầu tìm nạp , Tôi đã thêm nó vào mã. –
Cảm ơn bạn đã cập nhật. Sau khi chạy tất cả điều này, tôi làm cho nó in ra các giá trị '.length' và' .date', sau đó nó chạm vào điểm ngắt và nói với tôi 'CoreData: warning: Không thể tải lớp có tên 'Meditation' cho thực thể 'Meditation' . Không tìm thấy lớp, sử dụng NSManagedObject mặc định.' –