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