我一直在为iOS开发一个日历应用程序,这让我有很多问题。
我正在使用本地通知进行提醒。存储活动日期,闹钟日期或其他什么的最佳方式是什么?我的意思是,问题是由时区差异引起的。我正在将事件存储在Core Data中。我一直在使用NSDate进行日期存储,但我不确定它是一种在日历视图中查询和表示事件的好方法。由于时区,事件在错误的日子出现(比如从实际日期开始前一天)。
此外,是否有可以查看的教程或开源项目?我没有遇到任何关于如何使用tapku日历视图的全面,只有很少的教程。
修改:我不是只询问有关日历视图的问题。我问的是日历应用的基础设施。
答案 0 :(得分:3)
您应该使用NSDate存储,并与NSDateComponents一起提供。
由于时区,事件在错误的日子出现(比如从实际日期开始前一天)。
这是因为NSDate是绝对时间点。您需要根据用户区域设置进行正确的转换。 NSDateComponents(以及NSCalendar)将负责这一点。
The Date and Time Programming Guide会告诉你所有你需要知道的内容,但第一段确定了基调:
有三个主要类用于处理日期和时间。
- NSDate允许您表示绝对时间点。
- NSCalendar允许您表示特定日历,例如格里高利历或希伯来日历。它为大多数人提供了界面 基于日期的计算,允许您在NSDate之间进行转换 对象和NSDateComponents对象。
- NSDateComponents允许您表示特定日期的组件,例如小时,分钟,日,年等。
答案 1 :(得分:1)
您可以参考/使用Github上提供的以下框架
让您的日历应用有效。
希望这有帮助
答案 2 :(得分:0)
我认为您可以存储日期的时间戳值
[[NSDate date] timeIntervalSince1970];
我并不知道为什么当你存储为NSDate值时你会出错。有关这方面的更多信息吗?