如何解决从 CloudKit 检索记录的问题
在从 CloudKit 检索记录时遇到问题..
我的 firstName
和 lastName
的 CKRecord
显示为“N/A”,这是您将在下面看到的 nil 合并的安全值
我两次和三次检查(以及更多)所有的拼写都是正确的..所以我在那里很好。这是我的检索方法..
func getProfile() {
//GETTING USER RECORD ID
CKContainer.default().fetchUserRecordID { id,error in
guard let id = id,error == nil else {
print(error?.localizedDescription)
return }
//GETTING RECORD ID
CKContainer.default().publicCloudDatabase.fetch(withRecordID: id) { record,error in
guard let record = record,error == nil else { return }
let profileReference = record["userProfile"] as! CKRecord.Reference
let profileRecordID = profileReference.recordID
print("Profile reference is",profileReference)
//PASSING REFERENCE TO GET CLIENT SIDE MODEL
CKContainer.default().publicCloudDatabase.fetch(withRecordID: profileRecordID) { profileRecord,error in
guard let profileRecord = profileRecord,error == nil else {
print(error!.localizedDescription)
return
}
//FOR SOME REASON MY PROFILE IS NOT RECEIVING THE RIGHT VALUES FOR FIRST AND LAST NAME,IT JUST SHOWS "N/A"
DispatchQueue.main.async {
let profile = Profile(record: profileRecord)
print("Retrieved Record is: ",profileRecord)
print("Retrieved name is: \(profile.firstName)")
firstName = profile.firstName
lastName = profile.lastName
}
}
}
}
}
这是模型..
struct Profile {
let profileID: CKRecord.ID
let firstName: String
let lastName: String
init(record: CKRecord) {
profileID = record.recordID
firstName = record["firstName"] as? String ?? "N/A"
lastName = record["lastName"] as? String ?? "N/A"
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。