对于 iOS swift 应用程序开发的领域数据库,使用另一个类的成员变量数组构建类的理想方法是什么?



想想Slack,那里有频道,每个频道都有帖子。假设我有一个频道类和一个帖子类,其中频道有一系列帖子。现在我给每个帖子一个字符串变量"channel",以便在查询数据库时我可以挑选出特定频道的帖子。这意味着每次用户进入频道时,我都必须查询现有的每个帖子,以查看它是否适用于该特定频道。有没有更有效的方法可以做到这一点?

虽然使用某种这样的外键在关系数据库中可能有效,但在 Realm 中链接对象的方法要简单得多。

就像@bdash提到的,Realm 有一个对多对象关系特性,其中父对象可以存储对多个子对象的引用。

class Post: Object {
    dynamic var message = ""
    let channel = LinkingObjects(fromType: Channel.self, property: "posts").first?
}
class Channel: Object {
    dynamic var name = ""
    let posts = List<Post>()
}

您还可以使用 LinkingObjects 对象让帖子知道它们属于哪个频道。

有关更多信息,请查看 Realm 文档的对多关系部分。

最新更新