当前位置:  开发笔记 > 编程语言 > 正文

将CloudKit RecordID保存到CoreData

如何解决《将CloudKitRecordID保存到CoreData》经验,为你挑选了2个好方法。

我有一系列CloudKit记录,并希望将记录ID存储到核心数据中,因此当我再次查询云时,我不会记下相同的记录.我只是做一个不包含核心数据记录的NSpRedicate.

但是,如果出现错误,如何将记录ID保存到核心数据.认为这是一个类型问题.

现行代码:

 coreData.recordRecordID = self.cloudKitRecords[0].recordID as? String

当前得到CKRecord作为String的错误总是失败,我并不感到惊讶.需要能够保存recordID然后从核心数据中获取recordID.

谢谢



1> 小智..:
import Foundation

import CoreData

import CloudKit

class Entity: NSManagedObject {

// MARK: - Properties

@NSManaged var recordID: CKRecordID?

// Additional properties here

}

然后将Core Data属性类型更改为Transformable而不是String.



2> Edwin Vermee..:

你可以得到这样的id:

coreData.recordRecordID = self.cloudKitRecords[0].recordID.recordName

它将是一个字符串.如果你想从中创建一个CKRecordID,那么你可以使用它创建一个

var myID = = CKRecordID(recordName: yourStringID)


请注意,相同的记录ID可以存在于不同的区域中,因此如果您使用多个区域,则需要包含区域ID(如果您需要此标识符才能真正唯一).
推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有