Realm.io swift查询与谓词关系

时间:2015-04-22 20:57:54

标签: ios swift predicate relation realm

我有一个看起来像这样的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']"'

我应该采用不同的方式吗? 我很快就是一个小菜鸟。 感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

让我们尝试使用NSPredicate的方便代替值:

NSPredicate = NSPredicate(format: "name = %@ AND obj.name IN %@", aName, bNameList)!