简介

提醒是一种与时间和地点相关联的任务。提醒与日历中的事件有相似之处,但提醒可以被标记为完成状态,并且提醒可能不需要精确的跨越某一个时间段。
EKReminder 从EKCalendarItem类继承,所以你可以使用相同的方法展现提醒。比如:可以使用方法addAlarm来添加alarm;或者使用方法addRecurrenceRule来设置重复规则

获取Reminders

首先,你需要建立与event store之间的连接,就像日历事件中的操作一样。
同样, 在IOS6及以后,需要获取Calendar database的权限

[store requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {// handle access here//异步回调
}];

使用谓词获取提醒事件

接口: fetchRemindersMatchingPredicate:(NSPredicate *)predicatecompletion:(void (^)(NSArray *reminders))completion

谓词的创建有三种方式:
1.查找未完成的提醒
predicateForIncompleteRemindersWithDueDateStarting:ending:calendars:
如果starting为nil,则表示从最开始查找;如果ending为nil,则表示查找到最后;同理,如果都为nil,则表示查找所有的未完成提醒
2.查找完成的提醒
predicateForCompleteRemindersWithDueDateStarting:ending:calendars:
如果starting为nil,则表示从最开始查找;如果ending为nil,则表示查找到最后;同理,如果都为nil,则表示查找所有的已完成提醒
3.查找所有提醒
predicateForRemindersInCalendars:

获取提醒
NSPredicate *predicate = [store predicateForRemindersInCalendars:nil];[store fetchRemindersMatchingPredicate:predicate completion:^(NSArray *reminders) {for (EKReminder *reminder in reminders) {// do something for each reminder// 与日历事件不同的是,该方法为异步回调,不需要另外开线程//如果想要停止获取的操作,return cancelFetchRequest}
}];

使用唯一标识获取提醒事件

接口:calendarItemWithIdentifier

该方法可以获取日历事件和提醒事件,而 eventWithIdentifier:只可以获取日历事件。

创建和编辑提醒

创建:

+ (EKReminder *)reminderWithEventStore:(EKEventStore *)eventStore

跟日历事件相似,提醒可以通过时间或位置进行触发

编辑:

与时间相关的属性:
1.startDateComponents
2.dueDateComponents
与完成状态相关的属性:BOOL completed。设置为YES时表示完成,同时会自动将完成时间设置为当前时间

保存和删除提醒

保存和删除提醒与日历事件类似

保存:

saveReminder:commit:error:

删除:

removeReminder:commit:error:

三、Reminders 读写相关推荐

  1. 新视野大学英语第三版读写教程2答案

    新视野大学英语第三版读写教程2答案 链接:https://pan.baidu.com/s/1Vx4pIwG-bfGZXFqxg_OaIw 提取码:kncm 这份文档找的不太容易,能不能打赏一下.点个赞 ...

  2. Hadoop(三)读写流程

    Remote Procedure Call RPC--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP或UDP, ...

  3. 分布式数据库中间件的实现原理介绍三:读写分离

    声明:本文并非原创,转自华为云帮助中心的分布式数据库中间件(DDM)服务的产品介绍. 数据库中对计算和缓存资源消耗较多的往往是密集或复杂的SQL查询.当系统资源被查询语句消耗,反过来会影响数据写入操作 ...

  4. 缓存常用的三种读写策略==》Write Behind Pattern(异步缓存写入)

    Write Behind Pattern(异步缓存写入) Write Behind Pattern 和 Read/Write Through Pattern 很相似,两者都是由 cache 服务来负责 ...

  5. STM32 Cubemax(三)——时序读写完成称重传感器+HX711的使用

    STM32称重传感器+HX711的使用--HAL库 文章目录 STM32称重传感器+HX711的使用--HAL库 前言 一.接线 二.CubeMax配置 三.代码编写 注意点 前言 因为在一个项目中使 ...

  6. 新视野大学英语第三版读写教程(四)Unite 4 Midterm test answer

                                          注意了:仅对校对答案作参考,请勿走捷径,成功路上没有捷径哈!                                 ...

  7. 安卓学习-其他-文件读写

    在android中的文件放在不同位置,它们的读取方式也有一些不同. 本文对android中对资源文件的读取.数据区文件的读取.SD卡文件的读取及RandomAccessFile的方式和方法进行了整理. ...

  8. HAproxy七层负载均衡——访问控制、动静分离、读写分离实现过程详解

    实验环境 主机名 IP 服务 虚拟机server1 172.25.6.1 haproxy,httpd,服务端 虚拟机server2 172.25.6.2 httpd,php,客户端 虚拟机server ...

  9. Ubuntu10下MySQL搭建Amoeba_读写分离

    一.背景知识 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离.可路由相关 ...

  10. C++读写txt文件方式以及基于opencv的Mat数据类型读写txt文件

    一.打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); ...

最新文章

  1. 激励理论在人力资源管理中的运用
  2. jenkins执行xctool命令出现command not found问题解决方法
  3. C#开发Unity游戏教程之使用脚本变量
  4. java jar 和 war 包的区别
  5. thinkphp 引入时间_thinkphp 文章发布日期时间修改问题
  6. 编程之美-分层遍历二叉树方法整理
  7. 的技术难点_马铃薯收获机研究的技术难点与使用注意事项
  8. 1040 Longest Symmetric String
  9. html调用python_对Python3 解析html的几种操作方式小结
  10. wingdows安装psutil_python 第一步
  11. JS获取页面中Url的某个参数
  12. oracle date 隐式转换,PL/SQL中的数据类型隐式转换规则
  13. jdk环境变量的配置与练习
  14. 按值传递时 php必须复制值,PHP开发笔试题及答案(一)
  15. html flash背景透明写法,如何让Flash不遮挡HTML div元素的技巧
  16. 我能想到最赛博朋克的事,就是为全世界的工程师雕刻一尊“虚拟分身”
  17. FMS3.5的安装使用
  18. linux中硬链接为什么不能跨分区
  19. BJTU 1729 Ryan的弹幕游戏(BFS)
  20. 【数据分析day04】美国2012年总统候选人政治献金数据分析

热门文章

  1. 工作小结_2016年2月23日23:16:59
  2. 【2020 ACM Fellow 华人学者】 陈怡然 杜克大学
  3. 固高运动卡的使用 5 插补运动模式之-直线插补运动
  4. 【软件测试】BUG的管理
  5. 双系统windows+linux如何正确删除linux
  6. 服务器通过ilo安装系统,如何通过ilo开启服务器远程桌面
  7. 抛出异常关键字throw与定义异常关键字throws
  8. mongodb连接不上的问题Exception thrown during connection pool background maintenance task
  9. 闲鱼商品选投实时性优化
  10. APP稳定性测试工具fastbot(字节开源项目)