ios-CADisplayLink

来源:互联网 发布:数字网络广播系统文章 编辑:程序博客网 时间:2024/04/28 20:40

CADisplayLink是一种以屏幕刷新频率触发的时钟机制,每秒钟执行大约60次。

CADisplayLink是一个计时器,可以使绘图代码和视图的刷新频率保持同步,而NSTimer是无法确保计时器实际为触发的准确的时间的。

用法如下

 //创建 CADisplayLink * link=[CADisplayLink displayLinkWithTarget:self selector:@selector(secondChange)]; //添加到主循环当中 [link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];

NSTimer不怎么精确

    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(secondChange) userInfo:nil repeats:YES];

获取当前的秒数

//获取当前时间    NSDate * date=[NSDate date];    //创建一个时间格式化的对象    NSDateFormatter * formatter=[[NSDateFormatter alloc]init];    formatter.dateFormat=@"ss";    CGFloat time=[[formatter stringFromDate:date]floatValue];
还有另外一种方法

 NSCalendar * cal=[NSCalendar currentCalendar]; CGFloat time1=[cal component:NSCalendarUnitSecond fromDate:date];