首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发之EventKit框架的应用

对于系统的Reminders,其主要作用是提供事件列表,用户可以向事件列表中添加提醒事件,同样,提供默认创建了两个事件列表,用户也可以根据需要自行创建新的事件列表,如下图: ?...使用日历和提醒事宜这两个应用,可以提高生活工作效率,例如邮件应用通过与日历的交互可以将会议邮件添加到用户的日程中,EventKit框架则是提供了接口与这两个应用进行交互。...使用如下代码可以添加新的日历,通常,第三方应用如果要向用户日历中添加事件,可以先添加一个新的日历: - (void)createNewCalendar { EKCalendar *calendar...,开发者可以对自定义的日历进行读写操作,其也是继承自EKObject对象,解析如下: @interface EKCalendar : EKObject // 通过制定的EKEventStore对象创建一个新的日历对象...EKEvent是EKCalendarItem的子类,其对应日历应用中的事件,解析如下: @interface EKEvent : EKCalendarItem // 创建一个新的事件对象 + (EKEvent

4.1K51

DateTools,可能是最好用的iOS日期工具库

,可以用类似下面的方法创建时间端对象: // 创建一个时间段,从现在开始,共5个小时....基础 下图表格列出了两个时间段所有可能的关系: 可通过下列方法判断两个时间段的关系: isEqualToPeriod: isInside: contains: overlapsWith: intersects...可以像下面这样创建新的DTTimePeriodCollection集合: // 创建集合....NSDate 对象或一个 DTTimePeriod 对象与一个 时间段结合的相对关系.例如,你可以通过 periodsIntersectedByDate: 方法获取所有与某个时间有交集的时间段.这个方法会返回一个新的...DTTimePeriodChain 内部存储的时间段对象不允许有交集.这种集合很适用于连续会议或约会等日程类事务的建模. 创建一个新的 DTTimePeriodChain 集合: // 创建集合.

1.7K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS UIDatePicker的使用详情

    使用这个控件时,如果你能配置正确,当用户滚动车轮到一个新的日期或者时间上时,利用UIControlEventValueChanged触发事件。...二:UIDatePicker的使用 2.1 创建并添加一个UIDatePicker对象 // // ViewController.m // DatePicker // // Created by...应用程序必须实现一个计数器(NSTimer对象),让倒计时中的时间不断减少。 四:日期范围 你可以通过设置mininumDate 和 maxinumDate 属性,来指定使用的日期范围。...两个方法都需要NSDate 对象作参数: NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];...= minDate; datePicker.maximumDate = maxDate; 如果两个日期范围属性中任何一个未被设置,则默认行为将会允许用户选择过去或未来的任意日期。

    3.9K10

    OC学习12——字符串、日期、日历

    使用NSDateFormatter完成NSDate和NSString之间的转换的步骤如下: 创建一个NSDateFormatter对象 调用NSDateFormatter的setDateStyle:、setTimeStyle...从NSDate中分开获取各时间字段的数值的步骤如下: 创建NSCalendar对象 调用NSCalendar的components:fromDate:方法获取数值,返回一个NSDateComponents...对象 调用NSDateComponents的getter方法获取个时间字段的数值   使用个时间字段的数值来初始化NSDate对象的步骤如下: 创建NSCalendar对象 创建一个NSDateComponents...; 39 NSLog(@"获取的日期为:%@" , date); 40 } 41 } 三、对象复制 1、NSObject类提供了copy和mutableCopy方法,通过这两个方法即可复制已有对象的副本...简单来说就是深复制取完全的一个新的副本对象,副本对象与原对象没有任何交集,而浅复制则是原对象与副本对象之间还有交集。所谓交集指的是存在某一个指针变量指向同一个对象的情况。

    1.9K70

    时间与日期处理

    + (id)distantPast 与 + (id)distantFuture 这两个是类方法,分别用来返回一个极早的时间点和一个极晚的时间点 NSDate *date = [NSDate...-(id)dateByAddingTimeInterval:(NSTimeInterval)seconds 返回以当前NSDate对象为基准,偏移多少秒后得到的新NSDate对象。...:(NSDate *)anotherDate 比较两个NSDate对象,返回较早/较晚的时间点,并以新NSDate对象的形式返回 NSDate *date = [NSDate dateWithTimeIntervalSince1970...America/Chicago (CST) offset -21600) 5. + (id)timeZoneForSecondsFromGMT:(NSInteger)seconds 根据零时区的秒数偏移返回一个新时区对象...如果startDate和interval均可以计算,则返回YES;否则返回NO unit -- 日历单位 datep -- 开始时间,通过参数返回 tip -- 日历单位所对应的秒数,通过参数返回

    3.3K70

    OC知识--Foundation框架详尽总结之『数字、结构体、日期、文件类』

    )的使用做一个详细的总结。...NSPoint和CGPoint CGPoint和NSPoint是同义的 CGPoint代表的是二维平面中的一个点 CGPoint有2个成员 CGFloat x:表示该矩形原点的横坐标位置 CGFloat...NSDate NSDate可以用来表示时间,可以进行一些常见的日期\时间处理 一个NSDate对象就代表一个时间 [NSDate date]返回的就是当前时间,注意此时间是世界标准时间,准确时间应加上当前时区与世界标准时间的偏移量...// 创建时间 NSDate *now = [NSDate date]; // 创建时间格式化 NSDateFormatter *formatter = [[NSDateFormatter alloc...= [NSDate date]; // 创建日历对象 NSCalendar *calendar = [NSCalendar currentCalendar]; // 利用日历对象获取年月日时分秒,将需要获取的类型并入

    59740

    iOS开发——步数获取

    所以讲到了实时获取运动数据,苹果还提供了另一个框架给我们使用 —— CoreMotion框架。在这个框架中,我们可以获取加速度、步数等等等等运动数据,今天我们主要是讲讲步数是怎么获取的。...然后生成两个时间,分别为查询步数的起止时间,CoreMotion中会保存七天的运动数据,假设我们生成的时间为startTime,endTime....分别对这两个时间进行初始化 class StepCounter: NSObject { private var startTime: NSDate?...//在这里我只是随意初始化, 你可以根据自己具体的时间周期去设置时间 startTime = NSDate() endTime = NSDate() CoreMotion框架中,专门有一个类是负责处理步数的...,就是CMPedometer,所以在这里我们想获取到步数信息,也要创建一个这个对象,并且同时创建一个int对象保存步数数据 private var pedometer: CMPedometer!

    1.8K20

    Objective-C 与 泛型

    本文希望对 轻量泛型 做一个简单的介绍。更多信息,请参考 llvm 或者 与 Objective-C API 交互[1] 轻量泛型 是什么?...通常情况下,我们使用下面的语法声明数组: NSArray *dates; 通过在类型后面添加 NSDate *>,我们可以告诉编译器:这个数组只接受 NSDate 类型的实例。...NSArrayNSDate *> *dates; 下面,我们通过实例验证一下它的作用: NSArrayNSDate *> *dates; NSString *str = dates[2]; 当我们编译上述代码时...- (void)setObject:(U)obj forKeyedSubscript:(T)key; 验证 下面,我们写一个完整的 Demo 对上面的功能进行验证: // main.m @import...最后是两个 ObjCTypeParamDecl : KeyType 和 ObjectTYpe 总结 本文分享了轻量泛型的用法,并通过 clang 命令将对应的语法树进行了介绍。

    91210

    iOS开发——带有暂停功能的计时器

    上篇博客我跟大家分享了如何在iOS系统中使用原生框架获取步数,又是大半个月过去了,运动模块的全部功能也总算完成了,也打算有始有终的把如何做一个跑步类App跟大家分享了。...运动类应用中,有一个很重要的模块就是计时器,当然,这个计时器不算复杂,只要有简单的开始、暂停以及复位功能即可。那么今天我们从Model层来看看这个计时器的逻辑实现。...我们先自己创建一个时间的Model class RunningTimer: NSObject { //MARK: var property private var timeLabel: UILabel...,首先是定义了一个timeLabel,这个变量主要是为了在初始化时,直接将View层要显示的Label绑定进来,timer即为一个计时器,顺便定义了两个数组,用来记录时间,因为在真实环境中,可能有若干次暂停...-> CFTimeInterval函数获取两个时间之间的时间戳差值。 最后再把前面那个秒数转格式化时间的方法也贴出来吧。

    1.6K10

    iOS NSTimer 定时器用法总结 原

    2、timerWithTimeInterval这两个类方法创建出来的对象如果不用 addTimer: forMode方法手动加入主循环池中,将不会循环执行。...3、scheduledTimerWithTimeInterval这两个方法不需要手动调用fair,会自动执行,并且自动加入主循环池。         ...二、成员变量 @property (copy) NSDate *fireDate; 这是设置定时器的启动时间,常用来管理定时器的启动与停止     //启动定时器     timer.fireDate ...= [NSDate distantPast];     //停止定时器     timer.fireDate = [NSDate distantFuture]; @property (readonly)...@property NSTimeInterval tolerance; 这是7.0之后新增的一个属性,因为NSTimer并不完全精准,通过这个值设置误差范围。

    1.2K10

    Swift3.0 - Array

    func map(_ transform: (Element) throws -> T) rethrows -> [T] 解释: T 为泛型 transform: 闭包函数 我们需要给它传入一个有参数有返回值的闭包函数...[T] 函数会返回给我们一个T类型的数组 应用:我们有这样一个需求,给一组数据中大于20的数字乘以3 //1.先定义一个数组 var numbers = [21, 19, 7, 12] //2.创建一个有一个参数一个返回值的闭包函数...的数字变为 0 for ... in var numbers = Array(repeating: 3, count: 1000000) var date1 = NSDate() for i in 0....sorted(by areInIncreasingOrder: (Element, Element) -> Bool) -> [Element] 参数: areInIncreasingOrder 两个参数一个返回值得闭包...我们给1万个数组进行排序,测一下for in 循环排序的时间 // 冒泡排序法 ar date1 = NSDate() numbers.sort(by: {$0 > $1}) var swap:Int

    41210

    iOS开发一款小巧简洁的日历控件 原

    iOS开发一款小巧简洁的日历控件 一、引言         日 历是iOS开发中有时会用到的一个UI控件,网上开源的代码也很多,我浏览过一些,大致有两种模式,一种是日历的逻辑由开发者自己实现,通过计算闰年与平...年来确定月份天数,另外一种模式是通过NSDate这个时间类,来获取日历的信息。...我个人认为后一种更加安全,代码性能也会更加优质,下面就是我用这种模 式实现的一个日历控件。 二、设计思路 1、先来看下效果吧 ? ? ?...1:0;     //开始创建按钮     /**      *这里的逻辑是有问题的,应该设计成cell的复用机制,而不应该重复耗性能的创建 有时间在优化      */ #warning 可以优化哦 ...view控件,如用block创建的按钮,提示框以及对json和模型做相关映射的处理类,如果这些东西有帮到你,我很开心,如果你发现一些问题或者优化建议,请一定告知我,我将十分感激,QQ316045346

    3.6K20
    领券