将 NSTreeNode 作为 CKRecordValueStore 存储到 cloudkit

Posted

技术标签:

【中文标题】将 NSTreeNode 作为 CKRecordValueStore 存储到 cloudkit【英文标题】:Store NSTreeNode as CKRecordValueStore to cloudkit 【发布时间】:2018-05-10 09:55:35 【问题描述】:

有没有办法。

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于将 NSTreeNode 作为 CKRecordValueStore 存储到 cloudkit的主要内容,如果未能解决你的问题,请参考以下文章

更新 NSOutlineView 的内容

单程将两个图像作为输入,将两个图像作为输出?

如何将列表的所有元素作为函数的参数传递而不将列表作为参数传递

使用 ATL 编译 dll,将方法参数作为接口,但将它们作为 coclasses

是否有简单的 PHP 代码来区分“将对象作为引用传递”与“将对象引用作为值传递”?

将字典键设为行,将字典值设为列,一个值作为列名,一个作为列值