ios - 如何在 Swift 中使用 "IN"谓词来执行 ckQuery?

标签 ios sql xcode swift nspredicate

我需要快速从我的应用程序中进行查询。我使用的是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/

相关文章:

ios - 在 Swift 中使用范围从属性字符串返回子字符串

iphone - 验证以 # 符号开头的 NSString

php - sql注释错误

ios - 如何在 Xcode 中使用 FBSDKLoginKit 修复构建错误

iphone - ARC 循环保留检测

ios - 在共享扩展中启用 Firebase 身份验证

ios - 按 NSDate 对表格部分进行排序

MySQL SELECT NOT IN 从 30K 行快速

mysql - 这个sql查询有什么问题?

ios - Iphone 肖像模式切换回风景模式无法自动工作