我正在研究 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"
}
}
Run Code Online (Sandbox Code Playgroud)
Ralm 中的第二个对象(表)
class Owner : RLMObject{
dynamic var myName = ""
}
Run Code Online (Sandbox Code Playgroud)
所以我只想获取那些属于所有者名称“ram”的狗名称我尝试遵循子查询
var dog = Dog.allObjects().objectsWithPredicate(NSPredicate(format:"SUBQUERY(Owner, $owner, $owner.myName = 'ram')", argumentArray: nil))
Run Code Online (Sandbox Code Playgroud)
但应用程序因以下错误而崩溃
RealTest[1701:17960] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: …Run Code Online (Sandbox Code Playgroud)