【问题标题】:calculating recurring events in ObjC (iPhone)在 ObjC (iPhone) 中计算重复事件
【发布时间】:2011-07-01 12:45:13
【问题描述】:

我正在寻找一个库,可以让我在 iPhone 上处理 ObjC 中的重复事件。我正在编写一个需要处理计划(每月/每周/等)任务的任务管理应用程序,我需要检查哪些任务应该在给定的一天发生。基本上,我需要像 runtice_cube 这样的东西,但在 ObjC 中。

我查看了 Apple 的 EventKit 框架,它似乎提供了我需要的功能,但问题是它仅适用于日历应用程序中用户自己的日历。我需要一些可以让我处理仅存储在应用程序内部的内部数据的东西。我没有看到任何在 EventKit 中创建内部应用内日历的方法,我不想弄乱用户的主日历。

还有用于 ObjC 的 Google 数据库,它也做了类似的事情,但据我所知,它不会在客户端进行任何此类计算,您设置的重复规则仅用于传递它们作为 URL 参数到服务器,我需要能够离线使用它。

有谁知道这样的库是否存在?我可以自己编写代码,但我担心这可能是,正如有人在 SO 上所说的那样,“拥抱精神错乱”......

【问题讨论】:

  • 你调查过本地通知吗?
  • 在这种情况下它看起来没什么用......它只允许您安排在给定时间显示为弹出窗口的通知,我需要管理任务,显示所有任务的列表今天或明天发生的事情,等等。

标签: iphone objective-c date calendar recurring


【解决方案1】:

我假设您不会问这个问题,除非 NSDate 和 NSCalendar 提供的功能不足以满足您的需求,但如果您没有从那里开始,请转到 read about them,然后再投入更多的东西复杂。

在您完成了 NSDate 和 NSCalendar 所提供的功能之后,一个不错的起点可能是 libicu(Unicode 的国际组件)。更具体地说,this page 看起来可能会提供信息。 libicu 相当成熟,基本上是当今 Unicode 处理的参考实现。这很复杂,但我很有信心它可以处理这种事情。

我可以在这里给你的最好的建议是不要自己动手。日期和时间处理是一个复杂的话题;有很多微妙之处。有些人的整个职业生涯都在思考这些陷阱、微妙之处和变幻莫测。不要试图重新发明这个轮子,从而成为他们中的一员。

【讨论】:

  • 谢谢,但它似乎没有做任何与重复事件相关的事情。无论如何,我最终使用服务器端代码生成了 7 天的事件发生并将它们推送到 iPhone 应用程序,因为在 99% 的情况下,应用程序与服务器的通信频率超过每周一次。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-19
  • 1970-01-01
  • 2020-06-21
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
相关资源
最近更新 更多