目标C:如何检查未读消息(要显示为徽章的号码)

时间:2011-07-13 17:37:36

标签: objective-c ios badge read-unread

我有一个tableView存储通知列表(从服务器检索)。如何检查用户是否已查看特定通知?

我在考虑

1)将通知ID存储在NSUserdefaults和

2)根据应用启动时NSUserdefault中的列表检查检索到的通知列表,

3)如果NSUserdefault中不存在通知,则通知== unread和badgeValueCount ++。

然而,这似乎非常低效且无法扩展。

任何人都可以建议更有效的方法来检查未读项目(并使用未读计数设置徽章)。谢谢!

2 个答案:

答案 0 :(得分:1)

为什么不简单地将“通知”存储在某个数组中?您将能够获得数组中对象的数量,并检查对象是否在数组中。

答案 1 :(得分:1)

这在很大程度上取决于您的系统。例如,如果用户可能有多个客户端获取通知并且您希望它们之间进行同步,则必须将信息作为用户数据的一部分存储在服务器端。如果这纯粹是客户端问题并且通知按时间编制索引,则可以存储最后一个提取日期并询问服务器有多少通知比这更新。如果没有这一切,通知ID列表就有意义了(虽然我觉得把它放在用户默认设置中会很奇怪,只是出于整洁感而不想随着时间的推移膨胀应用程序的默认值。)