美文网首页
IOS 定时器

IOS 定时器

作者: 小暖风 | 来源:发表于2018-01-30 17:53 被阅读8次

一:NSTimer

1.NSTimer有两类实例化方式,timerWithTimeInterval和scheduledTimerWithTimeInterval。使用timerWithTimeInterval实例化之后,要调用fire,开始运行。并且,要将timer添加到runloop中。[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]。如果没有滑动的view,scrollView,textView等,就用NSDefaultRunLoopMode,否则就用NSRunLoopCommonModes。scheduledTimerWithTimeInterval会自动给你添加runloop,model为NSDefaultRunLoopMode。

2.如果是在子线程启动定时器,要开启子线程的runloop才行,[[NSRunLoop currentRunLoop] run]。如果是在主线程启动定时器就不需要,因为主线程的runloop是默认开启的。

二:GCD定时器

定时器要声明为成员属性

@property (nonatomic,strong) dispatch_source_t time;

NSTimeInterval period = 1.0;

dispatch_queue_t queue = dispatch_get_global_queue(0, 0);

 self.time = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);

 //设置开始时间

dispatch_time_tstart =dispatch_time(DISPATCH_TIME_NOW,0);

dispatch_source_set_timer(self.time, DISPATCH_TIME_NOW, period * NSEC_PER_SEC, 0);

    dispatch_source_set_event_handler(self.time, ^{

//执行

    });

    dispatch_resume(self.time);

相关文章

  • 无标题文章

    iOS NSTimer使用详解-开启、关闭、移除 定时器定时器详解ios定时器关闭定时器NSTimer 1、要使用...

  • iOS进阶-谈谈定时器

    目录 iOS提供定时器API 定时器开发中的坑 一、 iOS提供定时器API 二、定时器开发中的坑 2.1、必须办...

  • 定时器

    定时器 兼容ios

  • iOS中的定时器

    点击这里>> cocoaChina: iOS中的定时器 iOS中定时器有三种,分别是NSTimer、CADispl...

  • GCD定时器使用

    iOS中的常用定时器分为这几类: NSTimer CADisplayLink GCD定时器 选择GCD定时器原因:...

  • iOS:NSTimer的几种创建方式

    在iOS开发中,经常会用到定时器,iOS中常用的定时器有三种:NSTimer,GCD,CADisplayLink。...

  • iOS Timer

    iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。...

  • 每日笔记

    1、通过safari打开网页 2、iOS的几种定时器及区别 iOS的几种定时器及区别 3、long long类型 ...

  • iOS三大定时器

    iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。...

  • 定时器的使用介绍

    iOS中的定时器大致分为这几类: NSTimer CADisplayLink GCD定时器 (一)NSTimer ...

网友评论

      本文标题:IOS 定时器

      本文链接:https://www.haomeiwen.com/subject/nhfczxtx.html