我需要快速从我的应用程序中进行查询。我使用的是cloudKit,所以无法使用SQL 语言。
我想编写类似于以下内容的指令:
SELECT *
FROM parola
WHERE IDParola IN ("1","4","5","10"); //And so on with numbers
我已经读到,在 swift 中我必须使用 NSPredicate,所以我写:
var predicate = NSPredicate(format: "IDParola IN { "1", "2" }")
let query = CKQuery(recordType: "Parola", predicate: predicate)
但是这段代码给了我错误:“由于未捕获的异常'CKException'而终止应用程序,原因:'意外的表达式:IDParola IN {1, 2}” *** 首先抛出调用堆栈...”
我读了这个页面: https://developer.apple.com/library/prerelease/ios/documentation/CloudKit/Reference/CKQuery_class/index.html ,我尝试不使用“,我尝试了所有方法(我认为),但它不起作用。只有当我写:
var predicate = NSPredicate(format: "IDParola = 1")
let query = CKQuery(recordType: "Parola", predicate: predicate)
但是使用这段代码我只能检索一条记录...谁可以帮助我?先谢谢你!!
最佳答案
你可以试试这个:
var predicate = NSPredicate(format: "IDParola IN %@", [1, 2])
let query = CKQuery(recordType: "Parola", predicate: predicate)
关于ios - 如何在 Swift 中使用 "IN"谓词来执行 ckQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683205/