使用NSPredicate
时,我试图搜索数组中包含的所有对象(字符串)。下面的代码示例有效,但谓词只收集第一个索引中的对象?? NSPredicate
用于CKQueryOperation
。
每个Record
都有一个名为Category
的密钥的值。
let array: [String] = ["Education", "Sport", "TV and Film"]
// select all records
//let predicate = NSPredicate(format: "Category = %@", category )
let predicate = NSPredicate (format: "Category == %@", argumentArray: array)
let query = CKQuery(recordType: "quizRecord", predicate: predicate)
// get just one value only
let operation = CKQueryOperation(query: query)
//code works but only queries Records with the Category for "Education"
答案 0 :(得分:3)
尝试更换:
"Category == %@"
使用:
"Category IN %@"
答案 1 :(得分:1)
我和Peter Wiley有同样的问题。我发现的解决方案是对Danny Bravo解决方案的混合,并对该解决方案发表评论。
let arrayPredicate = NSPredicate(format: "Name IN %@", argumentArray: [names])
要获得多个结果,我需要同时使用关键字" IN"在格式中并用[]包装我的argumentArray。