CloudKit - NSPredicate 用于在引用列表中查找包含多个 CKReferences 的所有记录
CloudKit - NSPredicate for finding all records that contains multiple CKReferences in a reference list
我正在开发使用 CloudKit
的笑话应用
每个笑话都有参考列表 categories/tags。
我正在尝试查询所有具有特定标签的笑话。例如,我想找到属于 Animal 和 Doctor 类别的所有笑话。
现在我尝试了以下代码
let tagRecords = tags.map { CKReference(record: [=11=].record, action: .None) }
let predicate = NSPredicate(format: "tags CONTAINS %@", tagRecords)
let query = CKQuery(recordType: "Jokes", predicate: predicate)
基本上上面所做的是首先创建一个引用数组,然后创建一个谓词来查找包含这些引用的标签
很遗憾,这不起作用
我收到以下错误
服务器消息="Internal server error""
所以问题是:如何在参考文献列表中找到包含所有参考文献的所有记录?
假设 tags
是一个关系或一个字符串数组,您可以尝试使用以下谓词:
let predicate = NSPredicate(format: "ANY tags IN %@", tagRecords)
希望对您有所帮助。
我正在开发使用 CloudKit
的笑话应用每个笑话都有参考列表 categories/tags。
我正在尝试查询所有具有特定标签的笑话。例如,我想找到属于 Animal 和 Doctor 类别的所有笑话。
现在我尝试了以下代码
let tagRecords = tags.map { CKReference(record: [=11=].record, action: .None) }
let predicate = NSPredicate(format: "tags CONTAINS %@", tagRecords)
let query = CKQuery(recordType: "Jokes", predicate: predicate)
基本上上面所做的是首先创建一个引用数组,然后创建一个谓词来查找包含这些引用的标签
很遗憾,这不起作用 我收到以下错误
服务器消息="Internal server error""
所以问题是:如何在参考文献列表中找到包含所有参考文献的所有记录?
假设 tags
是一个关系或一个字符串数组,您可以尝试使用以下谓词:
let predicate = NSPredicate(format: "ANY tags IN %@", tagRecords)
希望对您有所帮助。