iOS 系统的日历事件

参考文章

http://www.cnblogs.com/xiaobaichangan/p/5160025.html
http://www.jianshu.com/p/0aa3f698614e
http://blog.csdn.net/liu_bin_home/article/details/51865817
http://www.cnblogs.com/foxmin/archive/2013/06/27/3158932.html
http://code.cocoachina.com/view/131427

分析:事件提醒开发包(EventKit)由事件库、事件源、日历和事件/提醒组成,他们的关系是:事件库用于直接操作日历数据库,日历数据库中的数据按事件源、日历和事件/提醒三级进行分类组织。每个事件源对应一个准帐户,该帐户下可以有多个日历�,日历分两类,一类是用于存储事件的日历,一类是用于存储提醒的日历。这里所说的存储,实际就是分类,反过来的,根据子项对父项进行分类。就如两口缸,一口装水,一口沙子一样,这个缸就是上面提及的日历,水相当于事件,沙子相当于提醒。一户人家的院子里可以摆好多口缸,这个院子就相当于帐户,有两个默认帐户,一个是Local,一个是Other。帐户的类型,还可能有iCloud或Gmail帐号等,一般是邮箱附带的,所以就默认对应着该邮箱地址了。就像 大户人家的总管,管好每户的院子,还有每个院子里的缸一样,事件库直接管理所有的帐户和日历,还有日历下的事件或提醒。管理包括增加、修改、查询、删除(CURD)。

0.日历和提醒入门(Introduction to Calendars and Reminders)

事件库框架授权访问用户的 Calendar.app 和 Reminders.app 应用的信息。尽管是用两个不同的应用显示用户的日历和提醒数据,但确是同一个框架维护这份数据。同样地,存储这份数据的数据库叫做日历数据库,同时容纳日历和提醒信息。

iOS 系统的日历事件_第1张图片
EventKitProgGuide.png

事件库不但允许你的应用获取用户已经存在的日历及提醒数据,而且它可以让你的应用为任何日历创建新的事件和提醒。另外,事件库让用户可以编辑和删除他们的事件和提醒(整体叫做“日历项”)。更高级的任务,诸如添加闹钟或指定循环事件,也可以使用事件库完成。如果日历数据库有来自你的应用外部的更改发生,事件库可以通过通知监测到,这样你的应用可以做出适当的响应。使用事件库对日历项所做的更改会自动地同步到相关的日历(CalDAV - 是一种效率手册同步协议,有些效率手册 如 Apple iCal、Mozilla Lightning/Sunbird 使用这一协议使其信息能与其它效率手册 如 Yahoo! 效率手册 进行交换;Exchange 等)。

本文档描述事件库的概念及通用的编程任务。如果你想要从你的应用来显示或编辑日历事件和/或提醒数据,那么你应该阅读本文档。事件库提供了有限的对用户日历数据库的访问;但它并未包含期望实现完整特性的日历或提醒应用所需的每一个功能,诸如出席者和帐户。

1.概览(At a Glance)

“读写日历事件” 描述了如何获取、创建和修改日历事件。
“读写提醒” 描述了如何获取、创建和修改提醒。
“配置闹钟” 描述了如何附加闹钟到一个日历项。
“创建循环的事件” 描述了如何使一个事件变成循环事件。
“监视日历数据库的外部更改” 描述了如何注册通知以关注日历数据库的外部更改。
“提供事件界面” 描述了如何显示事件视图控制器以允许你的用户来创建和编辑事件。

你可能感兴趣的:(iOS 系统的日历事件)