objective-c - 存储 UILocalNotification 以便于处理

标签 objective-c ios notifications uilocalnotification

我正在开发一款应用程序,它可以根据用户设置的偏好提醒用户执行操作。他们可以设置开始日期和结束日期(结束日期是可选的)。然后他们可以设置频率:

  • 每日
  • 每周
  • 每 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/

相关文章:

ios - 如何以编程方式在 UIView 的中心添加文本?

iphone - iOS:接到电话时显示提醒?

visual-studio - 当nuget包更新可用时如何获得通知

objective-c - 我可以依靠 nil UIView 为其框架返回 CGRectZero 吗?

iphone - 如何获取许多 UIButtons 的标签但具有相同的 Action 选择器

ios - react 本地初始化myProject

Android通知大图标规范?

iphone - `[super viewDidLoad]` 约定

iphone - 这应该如何实现?委托(delegate)团

ios - 整体加入了UIBezierPath笔画