CloudKitのMusicsレコードのSong_Nameフィールドだけを取得したいです。私はコードの下で試していますが、それでも音楽レコードのすべてのフィールドを取得します。私はpublicDB.add(操作)メソッドを使用して操作をコンパイルする必要があると思うが、それは私がpublicDB.performで今のように私は結果を宣言することはできません(クエリで、....)クラウドキット内の特定のフィールドのみを取得しますか?
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()
}
}
}
「動作していません」と定義してください。それはプログラマーが使える最も無駄な言葉です。具体的にする。コンパイルするとエラーですか?それはクラッシュしますか?それは単にあなたが期待していることをしないのですか?あなたの質問をエラーメッセージまたはデバッグ情報で[編集]します。あなたのコードが実際に何をしているのかを明確に説明し、あなたが何をすることを期待しているのかを明確に説明してください。人々があなたを助けてくれるようにしましょう。コメントにこの情報を投稿しないでください。あなたの質問を関連する詳細で編集してください。 – rmaddy
@rmaddy私は説明を編集した、まあ私は今気づいた。そのために残念。 –