三、Reminders 读写
简介
提醒是一种与时间和地点相关联的任务。提醒与日历中的事件有相似之处,但提醒可以被标记为完成状态,并且提醒可能不需要精确的跨越某一个时间段。
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 读写相关推荐
- 新视野大学英语第三版读写教程2答案
新视野大学英语第三版读写教程2答案 链接:https://pan.baidu.com/s/1Vx4pIwG-bfGZXFqxg_OaIw 提取码:kncm 这份文档找的不太容易,能不能打赏一下.点个赞 ...
- Hadoop(三)读写流程
Remote Procedure Call RPC--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP或UDP, ...
- 分布式数据库中间件的实现原理介绍三:读写分离
声明:本文并非原创,转自华为云帮助中心的分布式数据库中间件(DDM)服务的产品介绍. 数据库中对计算和缓存资源消耗较多的往往是密集或复杂的SQL查询.当系统资源被查询语句消耗,反过来会影响数据写入操作 ...
- 缓存常用的三种读写策略==》Write Behind Pattern(异步缓存写入)
Write Behind Pattern(异步缓存写入) Write Behind Pattern 和 Read/Write Through Pattern 很相似,两者都是由 cache 服务来负责 ...
- STM32 Cubemax(三)——时序读写完成称重传感器+HX711的使用
STM32称重传感器+HX711的使用--HAL库 文章目录 STM32称重传感器+HX711的使用--HAL库 前言 一.接线 二.CubeMax配置 三.代码编写 注意点 前言 因为在一个项目中使 ...
- 新视野大学英语第三版读写教程(四)Unite 4 Midterm test answer
注意了:仅对校对答案作参考,请勿走捷径,成功路上没有捷径哈! ...
- 安卓学习-其他-文件读写
在android中的文件放在不同位置,它们的读取方式也有一些不同. 本文对android中对资源文件的读取.数据区文件的读取.SD卡文件的读取及RandomAccessFile的方式和方法进行了整理. ...
- HAproxy七层负载均衡——访问控制、动静分离、读写分离实现过程详解
实验环境 主机名 IP 服务 虚拟机server1 172.25.6.1 haproxy,httpd,服务端 虚拟机server2 172.25.6.2 httpd,php,客户端 虚拟机server ...
- Ubuntu10下MySQL搭建Amoeba_读写分离
一.背景知识 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离.可路由相关 ...
- C++读写txt文件方式以及基于opencv的Mat数据类型读写txt文件
一.打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); ...
最新文章
- 激励理论在人力资源管理中的运用
- jenkins执行xctool命令出现command not found问题解决方法
- C#开发Unity游戏教程之使用脚本变量
- java jar 和 war 包的区别
- thinkphp 引入时间_thinkphp 文章发布日期时间修改问题
- 编程之美-分层遍历二叉树方法整理
- 的技术难点_马铃薯收获机研究的技术难点与使用注意事项
- 1040 Longest Symmetric String
- html调用python_对Python3 解析html的几种操作方式小结
- wingdows安装psutil_python 第一步
- JS获取页面中Url的某个参数
- oracle date 隐式转换,PL/SQL中的数据类型隐式转换规则
- jdk环境变量的配置与练习
- 按值传递时 php必须复制值,PHP开发笔试题及答案(一)
- html flash背景透明写法,如何让Flash不遮挡HTML div元素的技巧
- 我能想到最赛博朋克的事,就是为全世界的工程师雕刻一尊“虚拟分身”
- FMS3.5的安装使用
- linux中硬链接为什么不能跨分区
- BJTU 1729 Ryan的弹幕游戏(BFS)
- 【数据分析day04】美国2012年总统候选人政治献金数据分析
热门文章
- 工作小结_2016年2月23日23:16:59
- 【2020 ACM Fellow 华人学者】 陈怡然 杜克大学
- 固高运动卡的使用 5 插补运动模式之-直线插补运动
- 【软件测试】BUG的管理
- 双系统windows+linux如何正确删除linux
- 服务器通过ilo安装系统,如何通过ilo开启服务器远程桌面
- 抛出异常关键字throw与定义异常关键字throws
- mongodb连接不上的问题Exception thrown during connection pool background maintenance task
- 闲鱼商品选投实时性优化
- APP稳定性测试工具fastbot(字节开源项目)