如何解决Swift 4和Core Data,如何对提取请求进行排序?
我有一个游戏,其核心数据有500条记录。每个记录都有一个ID。从1到500,它们都是唯一的。
在Swift 4或5中,如何对获取请求的结果进行排序?我需要按PRICE.ID升序排列。预先感谢。
func checkPrizes() {
trace("checkPrizes")
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
let request: NSFetchRequest<Prize> = Prize.fetchRequest()
//finding specific record
let context = appDelegate.persistentContainer.viewContext
outputText.text = ""
do {
prizes = try context.fetch(request)
// try context.save()
for item in prizes {
print("Prize amount: \(item.amount!)")
outputText.text = item.amount!
print("Prize id: \(item.id!)")
outputText.text = item.id!
print("Prize region: \(item.region)")
outputText.text = String(item.region)
print("Prize won: \(item.won)")
// outputText.text.append(String(item.won) + "\n")
}
print("CheckPrizes count: \(prizes.count)")
outputText.text = "CheckPrizes count: \(String(prizes.count))"
} catch {
print("Failed to retrieve record")
print(error)
}
}
解决方法
如果您拥有NSFetchRequest
,则可以使用sort var sortDescriptors: [NSSortDescriptor]?
,它是获取请求的排序描述符。
request = [NSSortDescriptor(key: "id",ascending: true)]
或者您也可以在FetchRequest完成后对数组进行排序。
,let sort = NSSortDescriptor(key: "id",ascending: true)
request.sortDescriptors = [sort]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。