我只想在CloudKit中的音乐记录中仅提取Song_Name字段。我试着在代码下面,但它仍然提取音乐记录中的所有字段。我想我需要编译publicDB.add(操作)方法操作,但它不允许我宣布结果我现在publicDB.perform做(查询中,....)只抓取cloudkit中的特定字段?
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我编辑了描述,是的,现在我注意到了。对不起。 –