我有一个类似于Instagram的应用,在其中我必须获取帖子和用户才能使用它们。现在,我需要在两个DM之间决定如何存储帖子,以下是两个选项:
选项1 :每个帖子都有一个保存的用户,但是该用户对象只是一个用户对象,这意味着效率不高,因为我必须将相同的数据保存到User中对象
class Post: NSObject {
var images = Image()
let user = User()
var snapshot : [String : AnyObject]?
}
选项2 :此处的post对象不会跟踪用户,因为user对象会跟踪每个帖子
class User: NSObject {
var posts = [Post]()
//Other data...
}
所以我的问题是,哪种DM最适合我的用例(即能够以类似于Instagram的格式获取和显示帖子)
答案 0 :(得分:0)
您应该使用
class Post {
var images: [String]
let userId: String
var snapshot : [String : AnyObject]?
}
class User {
let id: String
}
获取帖子时,您可以执行以下操作。 repo.findPostsByUserId(userId, page, size)
答案 1 :(得分:0)
@ Galo Torres Sevilla评论是此处的最佳答案,所以我将其添加为正确答案:
第一种选择更好。每个帖子都应始终引用 谁张贴的。另一方面,用户不需要参考 他们的每个职位。想象一个情况,您只想 显示用户的姓名和个人资料图片,为什么要获取所有 在那种情况下发帖?另外,您所用的模型不应包含 指向图像等参考类型的变量,最好 保持它们为值类型,例如指向图像网址的String 并根据需要下载图像。
–盖洛·托雷斯·塞维利亚