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

Query CloudKit database with multiple record types

我设置了云工具包数据库并尝试对其进行查询。看起来谓词对我正在尝试做的事情不起作用。

在 SQL 中,查询看起来像这样:

SELECT 类型 1 从表 1、表 2 其中 table1.columnA = table2.columnB

也类似于:

NSPredicate(format: "%K == %K" "key1", "key2") but that doesn't work either.

同样,因为我正在尝试匹配键值,所以我认为谓词不起作用。有人有解决办法吗?

您不能在 CloudKit 中使用一个查询来查询多个 recordType。您需要先查询 1 个 recordType,然后使用该结果查询第二个 recordType。您建议的谓词仅在两个字段位于同一 recordType

中时才有效

您应该查看 Apple 的 CloudCaptions 示例代码。他们为每个 CKRecord 类型创建包装器,并具有加载关系的便捷方法。

希望 Apple 今年能增加更好的搜索功能!