如何在 Swift 中使用 "IN" 谓词来执行 ckQuery?
How to use "IN" predicate in Swift for doing ckQuery?
我需要从 swift 中的应用程序进行查询。我正在使用 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',正在终止应用程序,原因:'Unexpected expression: 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)
我需要从 swift 中的应用程序进行查询。我正在使用 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',正在终止应用程序,原因:'Unexpected expression: 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)