如何在Realm中处理逆?

时间:2015-12-15 04:42:41

标签: ios swift realm

我有两个领域对象有这样的反转:

class User: Object{
  dynamic device: Device
}

class Device: Object{
  dynamic user: User
}

当我查询用户时,我将获得嵌套结果,然后将获得消息。

我已阅读https://realm.io中的文档,但它没有提到这一点。

那么我可以限制结果的深度吗?或者有更好的方法来实现这一目标吗?或者,我不会做这样的事情吗?

由于

编辑:

将用户对象更改为:

class Device: Object {
var user: User {
    return linkingObjects(User.self, forProperty: "device").first
}

1 个答案:

答案 0 :(得分:3)

是的,有更好的方法! :)

Realm为子对象提供了一种执行反向查找以查找其父对象的方法。在这种情况下,只需要deviceUser子对象,并在Device中实现反向查找即可找到它。逻辑上有意义。

Device中,您可以实现以下内容:

class Device: Object {
    var user: User {
        return LinkingObjects(fromType: User.self, property: "device")
    }
}

有关此方法的更多信息,请参阅Realm Swift的文档页面'Relationships' section