我有一个看起来像这样的realm.io数据库
class A {
dynamic var name = ""
dynamic var obj: B
}
class B {
dynamic var name = ""
}
所以对象A有一个名字,并且有一个名为
的B对象我要做的是查询所有与nameX相等的A对象并且具有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']"'
我应该采用不同的方式吗? 我很快就是一个小菜鸟。 感谢您的帮助。
答案 0 :(得分:3)
让我们尝试使用NSPredicate的方便代替值:
NSPredicate = NSPredicate(format: "name = %@ AND obj.name IN %@", aName, bNameList)!