Swift 如何进行CoreData排序
我正在用CoreData构建一个应用程序。我想按日期对CoreData数据进行排序。我已经试过了:Swift 如何进行CoreData排序,swift,core-data,Swift,Core Data,我正在用CoreData构建一个应用程序。我想按日期对CoreData数据进行排序。我已经试过了: func getData() { let request = NSFetchRequest<Session>(entityName: "Session") let sort = NSSortDescriptor(key: "date", ascending: false) request.sortDescriptors = [sort] do { sessio
func getData() {
let request = NSFetchRequest<Session>(entityName: "Session")
let sort = NSSortDescriptor(key: "date", ascending: false)
request.sortDescriptors = [sort]
do {
sessions = try contains.viewContext.fetch(request)
print("Got \(sessions.count) sessions")
tableView.reloadData()
} catch {
print("Fetch failed")
}
}
但它显示以下错误:请求使用未解析的标识符“NSFetchRequest”。首先,您需要一个NSManagedContext,它可能类似于:
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
当然,还有一个用于返回的NSManagedObject的变量:
var sessions: [NSManagedObject] = []
然后你需要像这样使用它:
func loadQuotes() {
let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Session")
let sort = NSSortDescriptor(key: "date", ascending: false)
fetchRequest.sortDescriptors = [sort]
do {
sessions = try context.fetch(fetchRequest)
} catch let error as NSError {
print("Fetch failed")
}
}
添加导入CoreData然后我得到一个类型为“UIFocuseEnvironment->Bool”的新失败值,该值没有成员“viewContext”包含。viewContext应该是核心数据堆栈的NSManagedObjectContext实例这意味着什么?对不起,我对编程非常陌生。这取决于核心数据堆栈的位置。