具有多种记录类型的 Swift CKQuery

Posted

技术标签:

【中文标题】具有多种记录类型的 Swift CKQuery【英文标题】:Swift CKQuery with multiple record types 【发布时间】:2017-06-25 21:46:42 【问题描述】:

所以我在查询特定记录类型和解析它们的数据方面做得很好。但我不知道如何在所有记录类型中搜索,例如,今天修改的所有内容,无论它是什么记录类型。

想法?

【问题讨论】:

【参考方案1】:

想到的术语是 TRUEPREDICATE 和元数据。您可以在苹果文档页面上阅读所有关于它们的信息。大多数示例在 Objective C 中都令人惊讶,但是将它们转换为 swift 很容易。你需要的变成...

在斯威夫特中

让谓词 = NSPredicate(格式:“TRUEPREDICATE”) let query = CKQuery(recordType: "Blah", predicate: predicate)

如果您想要搜索多个数据库而不是需要执行多个查询,这将获取所有 Blah 类型的记录,我相信每个架构都需要一个查询。

【讨论】:

好的,所以我仍然需要单独获取所有不同的记录类型,然后解析它们。无论recordType如何,都没有办法提取所有记录? 您已经知道所有记录类型,您可以在 iCloudKit 仪表板中设置它们。但是,是的,我认为没有不询问/期望记录类型的 CKQuery。 这就是我想要的。是否有不需要记录类型的 CKQuery。 不,我没有找到任何关于在没有记录类型的情况下构建 CKQuery 的参考,这是 cloudkit 的限制/功能。

以上是关于具有多种记录类型的 Swift CKQuery的主要内容,如果未能解决你的问题,请参考以下文章

按键值过滤 CKQuery

CloudKit 服务器拒绝请求:未知字段记录名称

CKAssets 的 CKQuery 很慢

查询具有多种记录类型的 CloudKit 数据库

我可以从 CloudKit 接收对应于 CKQuery 的记录计数吗?

CKQuery Perform 仅获取在应用程序启动之前创建的记录