0

关于我应该如何为消息传递系统设计可扩展数据库模式的任何建议。此消息系统不会有任何附件。我想使用 APNS 通知来通知用户新的传入消息。有点像 facebook 消息,但没有附件。

我应该如何设置实体/表?关系?APNS 集成?如果过去有人这样做,那么看到图形布局会很好吗?

我计划将 Core Data 与 StackMob(远程数据库)一起使用。

谢谢!

4

1 回答 1

1

我猜您计划让该应用了解 1 个用户、他们的联系人以及从这些联系人发送到 + 的消息...我还猜测该用户注销您将从中删除旧用户的所有数据应用程序并从服务器为新用户下载新数据。

我可能不会担心当前用户有一个对象,它没有提供太多实用程序。我可能会使用用户默认值来存储用户身份,并在磁盘上的已知位置有一个头像图像。

对于模型,我可能有 2 个实体:

  1. Contact
  2. Message

Contact具有名称、ID、头像文件名、最新消息的日期(可能是第一条消息)以及与Message(一对多) 的关系Message具有消息文本、发送日期和标识消息已发送的标志/ 已收到

使用这个超级简单的数据模型,您可以轻松下载和存储联系信息,而无需下载所有消息。您可以列出该用户的联系人,并且您知道您最近收到了哪些消息(或发送给了哪些人)。当您需要时,您可以下载并填写指定用户的最新消息。

由于您的服务器保存了所有数据,如果您发现需要更改数据模型,您的升级路径很简单:删除旧的数据库文件,创建一个新文件并再次下载数据。您的设备上的数据永远不应超过您所需的数据,并且您应该定期清除旧消息(除非要求,否则不要在屏幕上显示它们)。

服务器和 RESTful 接口仍然是定义良好的更重要的部分。我会使用RestKit与服务器交互。

于 2013-05-11T13:49:09.803 回答