首页 > 解决方案 > 哪种数据模型最适合存储类似 instagram 的数据?

问题描述

我有一个类似于 Instagram 的应用程序,在其中我必须获取帖子和用户才能使用它们。现在我已经到了需要在两个 DM 之间决定如何存储帖子的地步,以下是两个选项:

选项1:每个帖子都有一个保存用户,但用户对象只是一个用户对象,这意味着它可能效率低下,因为我必须继续将相同的数据保存到用户对象中

class Post: NSObject {

    var images = Image()
    let user = User()
    var snapshot : [String : AnyObject]?

}

选项 2:这里的帖子对象不会跟踪用户,因为用户对象会跟踪每个帖子

  class User: NSObject {

    var posts = [Post]()
    //Other data...

}

所以我的问题是,哪个 DM 最适合我的用例(即能够以类似于 Instagram 的格式获取和显示帖子)

标签: iosswiftdata-modelingdatamodel

解决方案


你应该使用

class Post {

    var images: [String]
    let userId: String
    var snapshot : [String : AnyObject]?

}

class User {
    let id: String
}

当你获取帖子时,你可以做这样的事情。repo.findPostsByUserId(userId, page, size)


推荐阅读