小编Pra*_*ate的帖子

Realm如何编写子查询

我正在研究 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)

realm nspredicate swift

5
推荐指数
2
解决办法
4842
查看次数

标签 统计

nspredicate ×1

realm ×1

swift ×1