微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 处理CloudKit中的多对多关系

我正在尝试使用CloudKit创建标记系统.
我有一个名为Article的类型和一个名为Tag的标签类型.
每篇文章都可以应用多个标签.我希望我的数据能够正常化,因为相同的标签可以出现在几篇文章中,文章可以有多个标签,我需要一个多对多的关系.
在旧式的DB-stuff中,这需要一个联结表.

你是如何在CloudKit中做到的?

在任何Apples文档中,我只能找到一对多关系的示例.

所以我创建了一个名为ArticleTag的联结表类型,它包含两个CKReferences.一个用于文章参考,一个用于标记参考.

这应该有效,但每篇文章查询标签的最佳方法是什么?

亲切的问候,
Esben

解决方法

目前没有任何机制可以像传统的关系数据库那样在CloudKit中“加入”查询,但是您应该能够通过在文章中使用“参考列表”类型的字段来完成您想要的任务.我们假设如下:

>您的文章记录类型具有参考列表类型的“标签”字段.您可以在CloudKit Dashboard中进行设置.
>您有一个标记记录类型
>标记文章时,首先查找(并可能创建)每个标记标记记录,然后使用每个标记记录ID将CKReference添加到Article.tags列表字段.

然后,您可以使用标记字段中的ID查找文章标记,并且可以使用标记记录ID和使用CONTAINS操作检查列表成员身份的CKQuery谓词来查找标记有特定标记的所有文章.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐