gpt4 book ai didi

swift - 从最后一项获取核心数据 ManageObject 排序

转载 作者:行者123 更新时间:2023-11-28 14:48:43 24 4
gpt4 key购买 nike

我想从核心数据中获取所有项目,但从最新到最旧排序。我的实体“骰子”具有日期类型的属性“时间戳”。

这是我保存和获取的方式:

class func saveResults(_ withResults: Int) -> Bool {
let context = getContext()
let entity = NSEntityDescription.entity(forEntityName: "Dice", in: context)
let manageObject = NSManagedObject(entity: entity!, insertInto: context)

let date = Date()

manageObject.setValue(withResults, forKey: "result")
manageObject.setValue(date, forKey: "timestamp")

do {
try context.save()
return true
} catch {
return false
}
}

class func fetchObject() -> [Dice]? {
let context = getContext()
var dices:[Dice]? = nil

do {
dices = try context.fetch(Dice.fetchRequest())
return dices
} catch {
return dices
}
}

有谁知道如何排序。所有解决方案都令人困惑,并显示出从旧到新的排序。

最佳答案

您需要指定一个适当的排序描述符。

我建议让函数throw并交出错误。

class func fetchObject() throws -> [Dice] {
let context = getContext()
let fetchRequest : NSFetchRequest<Dice> = Dice.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "timestamp", ascending: false)]
return try context.fetch(fetchRequest)
}

注意:fetch 操作返回 [Dice]。不需要类型转换。

关于swift - 从最后一项获取核心数据 ManageObject 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50019780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com