将NSTreeNode存储为CKRecordValueStore到cloudkit

时间:2018-05-10 09:55:36

标签: objective-c macos icloud cloudkit

有没有办法将NSTreeNode存储为CKRecordValueStore到cloudkit。

1 个答案:

答案 0 :(得分:0)

不直接。 CKRecordValue仅支持一些预定义类型而不支持自定义类型(请参阅https://developer.apple.com/documentation/cloudkit/ckrecordvalue?language=objc)。

您必须找到一种方法将树结构映射到一堆这些类型上,并编写自己的序列化/反序列化逻辑。

最终的CKRecordValue类型是NSData,这意味着您将树存储为具有任何所需结构的二进制BLOB。

这取决于哪个结构最好的任务。例如,如果您已经知道如何将树转换为JSON,则最简单的方法是将其作为NSString或NSData上传。