热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

重新梳理NSLocalNotification的使用和优化

本文详细探讨了NSLocalNotification的设置和使用过程中需要注意的问题,包括提醒设置、当前状态、以及如何确保通知的有效性和持续性。

本文将详细介绍 NSLocalNotification 的设置和使用过程中的关键点,包括提醒设置和当前状态的分析。

1. 提醒设置:
在提醒设置中,有两个主要部分需要关注:提醒设置页面和今日提醒列表。当前的状态是在早上(即最早的通知时间之前)加入提醒。由于加入时有时间限制,如果设定时间为12点,则不会有任何通知加入。

2. 当前状态:
当应用首次进入提醒设置页面时,默认情况下所有提醒都会被加入,但每个提醒的时间点会根据当前时间点进行调整。此外,点击通知进入应用后,该通知会被删除,因此第二天同一时间点不会再收到相同的提醒。

3. 通知数量:
alarmArray 中的提醒数量与实际载入到应用中的数量可能不一致。为了确保一致性,还需要考虑时间条件。例如,如果用户双击 Home 键关闭应用,下次启动时需要重新加载所有通知。

4. 项目操作:
- 点击 Home 键钝化应用。
- 双击 Home 键退出应用。

5. 前提条件:
运行项目后,必须进行一次设置。如果在晚上11点设置提醒,所有提醒都会加入 alarmArray。早上启动客户端时,如果有未读通知,将会显示通知数量,但通知栏不会弹出任何提示。如果不打开客户端,通知也不会载入。

6. 情景分析:
情景一:用户今天下午打开客户端并进行了设置,然后关闭客户端,等待第二天早上的通知。结果发现没有任何通知,因为没有载入。
情景二:用户今天设置了提醒,但不打开客户端,如何确保第二天的通知有效?可以通过周期性地删除和重新添加通知来实现,或者记录特定时间点,在到达该时间点时呈现通知。

7. 解决方案:
为了确保通知的持续性和有效性,可以采取以下方案:
- 任意时刻都可以设置提醒。
- 设置后应永久生效(每天)。
- 永远保持应用中的通知数量与设定的数量一致。如果通知过期,将该时间点加一天;如果没有过期,则不做处理。
- 如果用户连续几天未启动应用且未点击通知栏内容,一旦进入应用,应根据过期与否的规则重新载入通知。


推荐阅读
author-avatar
米米清澈_109
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有