我需要查询所有记录类型,不进行任何过滤。我试过两种方法:
let query = CKQuery(recordType: "Pm", predicate: nil)
let query = CKQuery(recordType: "Pm", predicate: NSPredicate(format: ""))
我收到了错误:
'NSInvalidArgumentException',原因:'无法解析格式 字符串“”'
怎么办?
答案 0 :(得分:33)
你不能在没有谓词的情况下执行查询,但NSPredicate确实有一个方法,而在Swift中它通过初始化程序使用:
init(value: Bool) -> NSPredicate // return predicates that always evaluate to true/false
用法如下。
let predicate = NSPredicate(value: true)
答案 1 :(得分:20)
要获取所有记录,您需要将其用作CKQuery的谓词:
[NSPredicate predicateWithFormat:@"TRUEPREDICATE"]
或者,在Swift中:
NSPredicate(format: "TRUEPREDICATE")
这实际上就像没有任何谓词一样。