我有一个tableView存储通知列表(从服务器检索)。如何检查用户是否已查看特定通知?
我在考虑
1)将通知ID存储在NSUserdefaults和
中2)根据应用启动时NSUserdefault中的列表检查检索到的通知列表,
3)如果NSUserdefault中不存在通知,则通知== unread和badgeValueCount ++。
然而,这似乎非常低效且无法扩展。
任何人都可以建议更有效的方法来检查未读项目(并使用未读计数设置徽章)。谢谢!
答案 0 :(得分:1)
为什么不简单地将“通知”存储在某个数组中?您将能够获得数组中对象的数量,并检查对象是否在数组中。
答案 1 :(得分:1)
这在很大程度上取决于您的系统。例如,如果用户可能有多个客户端获取通知并且您希望它们之间进行同步,则必须将信息作为用户数据的一部分存储在服务器端。如果这纯粹是客户端问题并且通知按时间编制索引,则可以存储最后一个提取日期并询问服务器有多少通知比这更新。如果没有这一切,通知ID列表就有意义了(虽然我觉得把它放在用户默认设置中会很奇怪,只是出于整洁感而不想随着时间的推移膨胀应用程序的默认值。)