swift nspredicate cloudkit ckquery

swift - ¿Cómo puedo hacer un CKQuery sin predicado?



nspredicate cloudkit (2)

Necesito consultar todos los tipos de registro, sin ningún tipo de filtrado . Probé de dos maneras:

let query = CKQuery(recordType: "Pm", predicate: nil) let query = CKQuery(recordType: "Pm", predicate: NSPredicate(format: ""))

Me equivoque

''NSInvalidArgumentException'', motivo: ''No se puede analizar la cadena de formato ""''

¿Cómo hacer?


No puede realizar una consulta sin un predicado, pero NSPredicate tiene un método solo para esto, y en Swift se usa a través del inicializador:

init(value: Bool) -> NSPredicate // return predicates that always evaluate to true/false

El uso es el siguiente.

let predicate = NSPredicate(value: true)


Para obtener todos sus registros, deberá usar esto como el predicado de su CKQuery:

[NSPredicate predicateWithFormat:@"TRUEPREDICATE"]

o, en Swift:

NSPredicate(format: "TRUEPREDICATE")

Esto funciona efectivamente como no tener ningún predicado.