我有一系列CloudKit记录,并希望将记录ID存储到核心数据中,因此当我再次查询云时,我不会记下相同的记录.我只是做一个不包含核心数据记录的NSpRedicate.
但是,如果出现错误,如何将记录ID保存到核心数据.认为这是一个类型问题.
现行代码:
coreData.recordRecordID = self.cloudKitRecords[0].recordID as? String
当前得到CKRecord作为String的错误总是失败,我并不感到惊讶.需要能够保存recordID然后从核心数据中获取recordID.
谢谢
import Foundation import CoreData import CloudKit class Entity: NSManagedObject { // MARK: - Properties @NSManaged var recordID: CKRecordID? // Additional properties here }
然后将Core Data属性类型更改为Transformable
而不是String
.
你可以得到这样的id:
coreData.recordRecordID = self.cloudKitRecords[0].recordID.recordName
它将是一个字符串.如果你想从中创建一个CKRecordID,那么你可以使用它创建一个
var myID = = CKRecordID(recordName: yourStringID)