Tengo una base de datos realm.io que se ve así
class A {
dynamic var name = ""
dynamic var obj: B
}
class B {
dynamic var name = ""
}
Entonces el objeto A tiene un nombre y tiene un objeto B que tiene un nombre
Lo que estoy tratando de hacer es consultar todos los objetos A que son iguales a nameX y tienen B.name IN ["nameY", "nameZ"] <==> (B.name = "nameY" OR b.name = " nombreZ ")
Esto es lo que tengo
var predicate: NSPredicate = NSPredicate(format: "name = "(aName)" AND obj.name IN [(bNameList)]")!
var result = A.objectsWithPredicate(predicate).sortedResultUsingProperty("name", ascending: true)
Se adjuntó si recibí un error que decía que la cadena no se puede analizar.
"Unable to parse the format string "name = "A50D26FC-04EF-4B8B-8AFC-ED5949E6453D" AND obj.name IN ["4A3CEEFC-35C0-4E1C-B5A9-7FA3B8FCD058", "53B0FBFD-54DD-4517-B9D9-8C19D6EB5E08"]""
¿Se supone que debo hacerlo de manera diferente? Soy un poco novato en rápido. Gracias por la ayuda
Respuestas
3 para la respuesta № 1Intentemos usar la práctica habilidad de NSPredicate para sustituir valores:
NSPredicate = NSPredicate(format: "name = %@ AND obj.name IN %@", aName, bNameList)!