我有一个自定义类,我用它创建了一个(快速的)结构NSCodable。现在为了使用CloudKit,我想把它转换成一个CKRecord。尽管我在对结构进行编码时设置了“键值”对,但在我的理解中,结构被转换为NSData,您不能将其转换为字典(或另一个键值对象)。所以我觉得这不是一条正确的路。
有没有办法直接进行这种转换呢?或者使用中间步骤(例如,将数据转换为String: String- dictionary)?
发布于 2017-02-04 07:14:59
NSCoding仅用于从/到同一个类。相反,可以在自定义类上编写toServerDictionary方法,只包含要发送到CloudKit的属性,然后使用结果在CKRecord上调用setValuesForKeys。
您可能会发现有些属性需要特定的类型,在这种情况下,最好将您的方法设为toServerRecord,然后创建一个CKRecord并返回它。你也可以有一个updateWithServerRecord来设置你收到的任何东西。
https://stackoverflow.com/questions/40530484
复制相似问题