objective-c - Objective-C : How to check for unread messages (number to be displayed as badge)

标签 objective-c ios badge read-unread

我有一个 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/

相关文章:

iphone - ARC 和界面生成器

ios - 自定义动画过渡不适用于 iPhone 7 模拟器

ios - ARC weak ivar 在返回之前发布 - 构建发布时,而不是调试

IOS:将 UIButton 添加到容器 View 和导航 Controller 内静态 TableView 的底部

javascript - 带有弹出窗口的 Chrome 扩展 Onclick()

ios - 在afnetworking post方法中发送数组值

ios - 通过 Xcode 上传后无法在 iTunes Connect 中找到我的 iO 版本

objective-c - 两个 UILabels 在彼此下面,隐藏最上面的一个

android - 如何在我的 Android 程序的 QuickContactBadge 菜单中添加图标和 Intents?

iphone - "More"选项卡上的徽章值