Ich habe ein Spiel mit 500 Datensätzen in Kerndaten. Jeder Datensatz hat eine ID. Sie sind alle einzigartig von 1 bis 500.
Wie sortiere ich in Swift 4 oder 5 die Ergebnisse dieser Abrufanforderung? Ich muss aufsteigend nach price.id sortieren. Danke im Voraus.
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)
}
}
2 Antworten
Wenn Sie Ihr NSFetchRequest
erhalten haben, können Sie sort var sortDescriptors: [NSSortDescriptor]?
verwenden, den Sortierdeskriptor Ihrer Abrufanforderung.
request = [NSSortDescriptor(key: "id", ascending: true)]
Oder Sie können das Array einfach sortieren, nachdem Ihre FetchRequest abgeschlossen ist.
let sort = NSSortDescriptor(key: "id", ascending: true)
request.sortDescriptors = [sort]
Neue Fragen
swift
Swift ist eine sichere, schnelle und ausdrucksstarke Allzweck-Programmiersprache, die von Apple Inc. für seine Plattformen und Linux entwickelt wurde. Swift ist Open Source. Verwenden Sie das Tag nur für Fragen zu Sprachfunktionen oder wenn Sie Code in Swift benötigen. Verwenden Sie die Tags [ios], [ipados], [macos], [watch-os], [tvos], [cocoa-touch] und [cocoa] für (sprachunabhängige) Fragen zu den Plattformen oder Frameworks.