0

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

我在想

1) 将通知 ID 存储在 NSUserdefaults 和

2) 在应用启动时,对照 NSUserdefault 中的列表检查检索到的通知列表,

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

然而,这似乎非常低效且不可扩展。

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

4

2 回答 2

1

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

于 2011-07-13T18:07:57.823 回答
1

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

于 2011-07-13T18:24:53.287 回答