我担心的是,我不知道我是否对此有正确的理解,我需要你帮助澄清。我搜索堆栈溢出,无法找到这些信息。我只想在这里要求理论重新澄清。
问题是:我正在开发一个从Parse检索信息的应用程序。解析表包含name(String),animal(String),favorite(boolean)。我正在努力在应用程序上创建一个收藏夹部分,如果用户在以下信息上单击收藏夹,它将设置以下信息favorite = true。
这里的问题是,因为我正在使用Parse,比如,如果用户点击Bob(名字),Dog,(动物),真(最喜欢)。它会将喜欢从false更改为true。然后我会转到收藏夹部分,它将读取整个数据库并查找是否= = true并显示它。
因为它是解析,这意味着每个人都会收到相同的信息,比如说人1轻拍Gurl(名字),猫(动物),真(最喜欢)。人1会看到鲍勃(姓名),狗,(动物),真(最喜欢)的信息,她不喜欢但是被不同的人喜欢吗?这是我唯一关注的问题,因为我只希望特定的人看到他们喜欢的东西。
你会如何解决这个问题?我已经阅读了几条推荐Parse的信息,这是我关注的问题,有几个人推荐Core Data,但据我所知,Core Data不应包含大量信息,因为我将处理有关该项目的大量信息。感谢您的意见!
答案 0 :(得分:2)
人1会看到不喜欢但被不同的人喜欢的鲍勃(姓名),狗,(动物),真(喜欢)的信息吗?
简而言之:是的。
如果您想控制应用程序将为每个用户显示哪些数据,您必须至少使用一些用户逻辑(可以使用Parse开箱即用的PFUser
)以及一些ACL。
以下建模/逻辑只是一个建议,我没有完全了解你想要完成什么。
1 - 在Parse数据库中使用Name, Animal, Favorite, Pointer<PFUser>
2 - 在应用上列出收藏夹时,请创建一个类似的过滤器
query.whereKey("user", PFUser.current())
3 - 当用户点击喜欢的内容时
// If using PFSubclassing
let yourParseModel = MyModel()
yourParseModel.favorite = true
yourParseModel.user = PFUser.current()
// If NOT using PFSubclassing
let obj = PFObject(className: "YourClassName")
obj["favorite"] = true
obj["user"] = PFUser()