gpt4 book ai didi

ios - 使用 Parse 在消息传递应用程序中存储消息和讨论

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:09 26 4
gpt4 key购买 nike

我正在使用 Parse 作为后端为 iOS 创建一个消息传递应用程序,我正在尝试提出用于存储消息/讨论的架构。存储消息很简单,但是人们如何存储讨论,因为讨论涉及一个或多个用户的一组消息,并且可以作为一个整体删除。这只是对 messages 类的巧妙查询,还是对整个类的查询?

使用 Parse 的 Messages 类和 Discussions 的典型模式是什么样的?

在此先感谢您的帮助!

附言。任何人都可以推荐任何非常好的第三方库来制作类似于 Facebook Messenger 的消息屏幕。

最佳答案

如果您使用 Parse 作为后端,那么最适合您的功能是 PFRelation。对于你的 _User 对象,你可以拥有一个 PFRelation 类型的属性,目标类是 Discussions(你的自定义类,你可以随意调用)。一个 Dicussions 对象本身可能有一个带有某种数组的属性,其中包含参与该讨论的人,只有他们的 objectIds(可能是“参与者”)。另一个包含消息“数组”的属性(这在技术上是一个 PFRelation 属性,但如果文档会让您知道,这在技术上不是一个数组)。因此,要查询用户参与的讨论,您可以对 Discussions 对象类进行查询,其中 Key:@"partcipants"equalTo:[PFUser currentUser].objectId

重要的一点是,您可以轻松地从 PFRelation 属性中删除/添加对象,但这些对象尚未获取,您必须首先获取 PFRelation 中的项目才能访问它们。 (如果你去文档,你会看到这个)正是出于这个原因,你必须在对它们进行实际查询之前获取 PFRelation 中的对象。

您的用户数组可以只包含他们的 objectId 的原因是为了避免实际获取 PFRelation 中的对象所花费的时间。请记住,在查询数组属性时,whereKey:equalTo: 方法会检查 equalTo: 旁边的对象是否包含在数组属性中。

最后,您可以拥有一个“消息”PFRelation 属性,访问该属性时会将您带到已提交给特定讨论对象的消息对象。

去查找 PFRelations,它们是您的 friend ,是一种通过直接查询来解决您的问题的方法。

关于ios - 使用 Parse 在消息传递应用程序中存储消息和讨论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24345127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com