Я отримав базу даних realm.io, яка виглядає так
class A {
dynamic var name = ""
dynamic var obj: B
}
class B {
dynamic var name = ""
}
Тому об'єкт A отримав ім'я і має об'єкт B, який має ім'я
Те, що я намагаюся зробити, це запитувати всі об'єкти A, які дорівнюють nameX і має B.name IN ["nameY", "nameZ"] <==> (B.name = "nameY" АБО b.name = " nameZ ")
Ось що я отримав
var predicate: NSPredicate = NSPredicate(format: "name = "(aName)" AND obj.name IN [(bNameList)]")!
var result = A.objectsWithPredicate(predicate).sortedResultUsingProperty("name", ascending: true)
Було додано, що я отримав помилку, кажучи, що рядок не може бути проаналізований.
"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"]""
Чи повинен я робити це по-різному? Я трохи нуб у швидкому. Дякуємо за допомогу.
Відповіді:
3 для відповіді № 1Спробуємо скористатися зручною функцією NSPredicate для заміни у значеннях:
NSPredicate = NSPredicate(format: "name = %@ AND obj.name IN %@", aName, bNameList)!