如何根据来自服务器的密钥删除重复的值?

时间:2016-08-25 06:26:58

标签: ios objective-c

我有一个关键名称" messageId"这是来自服务器,我在服务器中获得一个唯一的消息ID并且具有相同的ID但具有不同的密钥名称" gcm.notification.messageId"。

我正在获取推送通知,我将其保存在表视图中(本地数据库中的通知和来自Web服务的消息)。

我的问题:

如果" messageId"我必须删除重复的邮件。和" gcm.notification.messageId"具有相同的ID

如何实现?

2 个答案:

答案 0 :(得分:0)

您需要在php脚本中进行一些更改,无论您使用APN GCM还是使用任何其他推送通知服务,都会收到重复消息。

或者只是不添加重复值。

答案 1 :(得分:0)

您不想保存通知中的数据。根据定义,通知不可靠。如果你得到它,那很好,如果你不这样做,你仍然需要找到一种方法来获得良好的用户体验。

根据您所写的内容,我假设您要将邮件从远程数据库保存到本地数据库。如果我弄错了,请澄清并编辑。

你能做的是:

  • 如果收到通知,请检查您的数据库,看看您是否已收到该消息。如果你不这样做,就去取它。如果你已经拥有它,那么忽略它。

  • 如果你没有收到通知,你仍然需要找到一种方法来获取最近的消息,我建议只是在用户即将进入他的"收件箱" (或者你的情况下的任何内容),一旦你收到所有(新的)消息,在将它们保存到数据库之前比较ID。

这样,你永远不会保存通知中的任何信息;您只使用该信息来获取适当的特定数据。如果您不知道要取什么内容,则需要自己询问服务器。

旁注:不要在本地进行所有排序/比较,这是一个好主意。一个好主意是向服务器发送您的最新消息,并要求他在此之后返回任何内容。

- 服务器,这是我最新的消息ID。

-Ok,我看到了这个ID,这里是所有带日期的消息>你的消息日期。

相关问题