我正在开发一款应用程序,它可以根据用户设置的偏好提醒用户执行操作。他们可以设置开始日期和结束日期(结束日期是可选的)。然后他们可以设置频率:
- 每日
- 每周
- 每 1-9 天一次
- 每 1-9 周一次
- 在每个月的某些日子
- 具体日期
现在,我需要能够检索即将到来和过去的提醒列表以显示在 UITableView 中。如果用户忽略通知(不要勾选应用程序中的提醒),那么我需要能够跟踪这一点,以便稍后进行数学计算。
首先,我的想法是让 UITableView 只查看提醒集并找出在任何给定日期会触发哪些通知。
这需要对日期进行大量计算,并且无法让我知道用户是否忽略了提醒。
我的下一个(和当前)想法是存储一个数据库表(如下所示)并在未来的一个月内输入提醒。任何未设置为响应的行都意味着他们忽略了它。这也将使 UITableView 变得非常简单。
有没有更好的方法来做到这一点?我应该提前多长时间创建数据库行?如果他们更改了提醒,我可能不得不在行上调用 DELETE 并重新输入它们;就 id 而言,拥有非常高的数字可以吗?
reminderLogs
-------------
id
reminderID
actionReceived
timestampShould
timestampTaken
comments
最佳答案
这听起来像是使用 Core Data 的好地方。设置星号可能会很麻烦,尤其是当您不熟悉它时,但一旦您这样做了,您将拥有一个(相对)易于查询的持久数据存储。您还可以更改存储对象的属性,而无需删除和重新创建它们,因此当用户添加或修改任务时,可以轻松地添加或修改数据库中的记录。如果您需要显示列表或对存储的数据运行任何计算,正确的查询将提取您需要知道的一切。
网上有许多 Core Data 教程,但您最好从 Apple's example 开始。 .
关于objective-c - 存储 UILocalNotification 以便于处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11462548/