我有一个 tableView 存储通知列表(从服务器检索)。如何检查特定通知是否已被用户查看?
我在想
1) 将通知 id 存储在 NSUserdefaults 和
2) 在应用程序启动时根据 NSUserdefault 中的列表检查检索到的通知列表,
3)如果NSUserdefault中不存在notification,则notification == unread and badgeValueCount++。
然而,这似乎非常低效且不可扩展。
任何人都可以建议一种更有效的方法来检查未读项目(并使用未读计数设置角标(Badge))。谢谢!
最佳答案
这在很大程度上取决于您的系统。例如,如果用户可能有多个客户端获取通知并且您希望在它们之间同步,则必须将信息作为用户数据的一部分存储在服务器端。如果这纯粹是客户端问题并且通知按时间索引,您可以只存储最后一次拉取日期并询问服务器有多少通知比该日期更新。如果所有这些都失败,通知 ID 列表是有意义的(尽管我会觉得将它放在用户默认值中很奇怪,只是出于整洁感并且不想随着时间的推移膨胀应用程序的默认值)。
关于objective-c - Objective-C : How to check for unread messages (number to be displayed as badge),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683133/