我有一个CKRecordID
,需要保存到CloudKit作为参考。但是,当我尝试保存它时,出现以下错误:
无法转换“CKRecordID”类型的值?到预期的参数类型“CKRecordValue?”
当前选择的用户的声明:
var currentlySelectedUser: CKRecordID?
在另一个CKQuery中检索currentSelectedUser:
self.currentlySelectedUser = record.creatorUserRecordID
保存currentSelectedUser:
myRecord.setObject(currentlySelectedUser, forKey: "toUser")
错误发生在代码的第三行。
如何将此
CKRecordID
保存为另一个CloudKit记录中的引用? 最佳答案
您正在尝试添加CKRecordID
,它不是CKRecord
支持的数据类型。如错误所示,它不符合CKRecordValue
协议。
创建一个CKReference
并添加它,如下所示:
myRecord["toUser"] = CKReference(recordID: currentlySelectedUser!, action: .None)
关于ios - 将CKRecordID保存到CloudKit,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38463059/