Ich möchte nur das Song_Name-Feld in Musikdatensätzen in CloudKit abrufen. Ich versuche unten Code, aber es holt immer noch alle Felder in Musik aufnehmen. Ich glaube, ich brauche zu kompilieren Betrieb mit publicDB.add (Betrieb) Methode, aber es erlaubt mir nicht, Ergebnisse zu erklären, wie ich mit publicDB.perform jetzt tun (Abfrage, in ....)Nur bestimmte Felder im Cloudkit abrufen?
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: "Musics", predicate: predicate)
let operation = CKQueryOperation(query: query)
operation.desiredKeys = ["Song_Name"]
publicDB.perform(query, inZoneWith: nil) { [unowned self] results, error in
guard error == nil else {
DispatchQueue.main.async {
self.delegate?.errorUpdating(error! as NSError)
print("Cloud Query Error - Refresh: \(error)")
}
return
}
self.items_music.removeAll(keepingCapacity: true)
for record in results! {
let music = Musics(record: record, database: self.publicDB)
self.items_music.append(music)
}
DispatchQueue.main.async {
self.delegate?.modelUpdated()
}
}
}
Bitte definieren Sie "funktioniert nicht". Das ist die nutzloseste Phrase, die ein Programmierer verwenden kann. Sei genau. Ist es ein Fehler beim Kompilieren? Stürzt es ab? Tut es einfach nicht, was Sie erwarten? [Bearbeiten] Ihre Frage mit Fehlermeldung oder Debugging-Informationen. Erklären Sie klar, was Ihr Code tatsächlich tut und erklären Sie klar, was Sie davon erwarten. Machen Sie es Ihnen leicht, Ihnen zu helfen. Veröffentlichen Sie diese Informationen nicht in Kommentaren. Bitte [bearbeiten] Sie Ihre Frage mit den relevanten Details. – rmaddy
@rmaddy Ich habe die Beschreibung bearbeitet, ja, das ist mir jetzt aufgefallen. Das tut mir leid. –