【发布时间】:2015-09-25 05:52:58
【问题描述】:
我正在研究 Realm db,这个 db 与核心数据相比很好,但我被困在一个地方,如下所示:
我有两个 RLMObject 用于创建关系,我想在其上运行连接查询(子查询),但我不能这样做。
Ralm 中的第一个对象(表格)
class Dog : RLMObject
{
dynamic var name = ""
dynamic var age = 0
// create variable of Owner object
dynamic var owner = RLMArray(objectClassName: "Owner")
override class func primaryKey() -> String!{
return "name"
}
}
Ralm 中的第二个对象(表格)
class Owner : RLMObject{
dynamic var myName = ""
}
所以我只想获取属于所有者名称“ram”的那些狗名称 我尝试了以下子查询
var dog = Dog.allObjects().objectsWithPredicate(NSPredicate(format:"SUBQUERY(Owner, $owner, $owner.myName = 'ram')", argumentArray: nil))
但应用程序因以下错误而崩溃
RealTest[1701:17960] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "SUBQUERY(owner, $owner, $owner.myName = 'ram')"'
我也在网上搜索它,我发现了 realm.objects 但它给了我关于未找到的错误。
提前致谢!
【问题讨论】:
-
您的案例中的关系似乎值得怀疑。一条狗可以有多个主人?
-
是的,其实我现在才学境界。这就是我举这个例子的原因
标签: swift nspredicate realm