Swift3.0中GCD定时器的使用

iOS开发之三大计时器(Timer、DispatchSourceTimer、CADisplayLink) 本文将阐述Timer、DispatchSourceTimer、CADisplayLink三种定时器的创建使用、注意事项,以及各自的优缺点。 阅读详情

      swift3.0语法变化之后,好多东西用法都发生了变化,最近要用到定时器,网上搜集了好多写法,最后才搞好,现分享一下,方便以后使用,也希望能帮助别人

首先,创建定时器,和之前的有所不同,代码如下:

 var timer =  DispatchSource.makeTimerSource(flags: [], queue:DispatchQueue.main),即在主线程中创建一个定时器,该种定时器是个DispatchSourceTimer
类型的对象;这样我们就创建了一个基本的定时器,然后设定事件,

 timer.scheduleRepeating(deadline: .now(), interval: .seconds(1) ,leeway:.milliseconds(40))

//该行代码设定开始的时间,间隔的时间,以及剩余持续的时间 40可以设定成你想要的数额,设定即可

        timer.setEventHandler {
 
          //该处设定要执行的事件,比如说要定时器控制的界面的刷新等等,记住,要用主线程刷新,不然会有延迟
                
            }

另外急个函数,看准时机使用,

timer.suspend()//定时器继续执行;

timer.cancel()//定时器取消,会销毁;

timer.activate()/定时器开始激活

timer.resume()定时器继续

如上的配合使用,定时器就可以使用了

Swift3.0 GCD定时器的使用,实现倒计时,UIDatePicker的使用, 仿写一个活动倒计时的DEMO Swift3.0 GCD定时器实现倒计时,UIDatePicker的使用, 仿写一个活动倒计时的DEMO 阅读详情

相关推荐

GCDTimer:Swift 中经过充分测试的 GCD 计时器

GCD定时器 Swift 中经过充分测试的 Grand Central Dispatch (GCD) 计时器。 签出文件。 用法 长时间运行的计时器 import GCDTimer class Demo { init () { let timer = GCDTimer ( intervalInSecs : 20 ) timer. Event = { println ( " Hello World " ) // Send some data to the server } timer. start () // Don't forget to pause the timer in the AppDelegate:applicationWillResignActive(applica

iOS中的3种定时器

Timer是一个简单的定时器,基于RunLoop的,通常用于实现对实时性要求不高的场合,因为它被注册在runloop的timers事件源集合中,如果当前runloop执行耗时任务超过了调用时间,那么就会丢弃当前次,直接执行下一次。导致定时器不准时的情况。然后通过schedule(deadline: .now(), repeating: .seconds(1))方法指定定时器的初始延迟时间和重复时间间隔,优点为:Dispatch定时器非常轻量级,基于GCD的实现,可以利用GCD的优势来进行任务调度,性能高。

Gefangenes的博客 769

swift-GCDTimer简单实用的GCD定时执行器类库Swift

GCDTimer:简单、实用的 GCD 定时执行器类库(Swift)

swift GCD-定时器(DispatchSourceTimer)注册登陆组件封装

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34402090的博客 378

OpenCV卡尺工具实战:5步搞定工业级圆与直线拟合(附完整C++源码)

本文详细介绍了使用OpenCV卡尺测量工具实现工业级圆与直线拟合的5个关键步骤,包括核心原理、环境配置、边缘点提取优化、鲁棒性几何拟合实现及QT集成技巧。通过模块化C++源码和实战案例,帮助开发者快速掌握高精度尺寸测量技术,适用于机械零件、PCB板等工业检测场景。

uran的专栏 843

基因家族的鉴定-基于Windows系统上的HMMER

基因家族的鉴定-基于Windows系统上的HMMER。

liangjinghui123的博客 3246

探秘Swift高效计时器 —— GCDTimer项目深度解析与推荐

探秘Swift高效计时器 —— GCDTimer项目深度解析与推荐 在瞬息万变的软件开发世界中,精准而高效的计时机制是实现众多功能不可或缺的一环。今天,我们为您隆重介绍一个精心打造的开源项目——GCDTimer。这款基于Grand Central Dispatch(GCD)的强大工具,专为Swift开发者设计,它的出现将让您的定时任务管理变得既简单又可靠。 项目介绍 GCDTimer是一个经过充分...

gitblog_01122的博客 820

使用Jacob实现将Word文件转换为Pdf文件

如果是首次使用 jacob,建议先直接从 github上下载 zip包,因为在实现Word转Pdf的时候,不仅需要用到 jacob.jar,还需要 jacob.dll 库,而zip包中都有。官方使用文档可以参考:https://github.com/freemansoft/jacob-project/blob/main/docs/UsingJacob.md。// 如果安装的是微软的 Office,需要使用 Word.Application。

qq_41672950的博客 750

Swift 3.0中GCD的常用方法

随着苹果推出swift3.0,很多API都发生了变化,下面我就来总结下GCD的一些常用API用法。 首先为了方便先定义几个属性: class ViewController:UIViewController{ /**队列*/ var myQueue:DispatchQueue? var myQueueTimer:DispatchQueue? var

kidd风的博客 7263

【S32K】S32K144入门笔记(3) SPI(lpspi组件)

0. 引言 与第二篇can对应,第三篇本来想写lin的,毕竟都是车身上常用的总线。但是lin比较麻烦,所以先拖后一下,先把SPI记录一下。 SPI在我们的系统架构中是S32K和ADAS之间做数据传输用的,毕竟速率够高,数据量能传的比较大。 1. 准备 1.1 SPI基础知识 1.2 开发环境 1.2.1 软件开发环境 1.2.2 硬件环境 SPI 2. Demo ...

YoYo的桃子树 2万+

ECC密码的加密和解密(附带代码实现)

ECC,全称Elliptic Curve Cryptography,是椭圆曲线密码学。这是一种公钥加密技术,其安全性基于椭圆曲线离散对数问题,被广泛应用于信息安全领域。ECC的主要优势在于,相较于RSA和DSA等其他传统的公钥密码体系,它能够在提供相同安全级别的情况下,使用更短的密钥,从而减少计算量和存储空间的需求。例如,一个256位的ECC密钥提供的安全性可以与3072位的RSA密钥或DSA密钥相媲美。ECC的主要应用领域包括SSL安全证书、安全电子邮件、移动设备安全、物联网设备安全等。

xixixi7777的博客 8271

Swift 4.0中 GCD定时器写法,及延时操作

Swift 4.0中对 GCD定时器的写法做了很多改进,使之更符合Swift的语言特点,比OC的语法看起来是简明清晰了不少/// GCD定时器倒计时⏳ /// - timeInterval: 循环间隔时间 /// - repeatCount: 重复次数 /// - handler: 循环事件, 闭包参数: 1. timer, 2. 剩余执行次数 public func DispatchT

zxw_xzr的博客 1万+

TAS5805MPWPR实战:数字音频功放从选型到量产全流程指南

数字音频功放将I2S数字信号直接转为PWM驱动扬声器,省去传统DAC与模拟运放链路,在高保真、低BOM与紧凑PCB之间找到平衡。其核心在于内置可编程DSP,支持多段PEQ、DRC等数字处理,通过I2C配置即可完成调音,而不占用主控算力。这类方案广泛应用于蓝牙音箱、Soundbar、智能音频模组等产品,但实际落地时常遇到I2C通信不稳定、EQ未生效、底噪超标、DC检测误触发等工程问题。从电源布局、LC滤波参数到PurePath Console工具链的使用,再到量产固件加载与故障排查,都需要系统化方法论支撑。本

weixin_29164843的博客 219

swift定时器探究

swift定时器探究 先来看看CADisplayLink的用法 在工程中创建一个 CADisplayLink 的对象 cadTimer ,同时给他一个 target 和一个 Selector ; 然后,将 cadTimer 添加到 RunLoop 中,在屏幕刷新的时候就会触发 cadTimer 的 Selector 方法 preferredFramesPerSecond 该参数的作用是设置屏幕在...

GuanZeJun123的博客 880

Autosar Os降低CPU负载的方案总结

由于各个项目的实际场景不尽相同,可能需要有针对性的对症优化。如果你还有别的一些优化手段欢迎留言交流。

3677

进阶01:Labview与OPC UA设备通信

LabVIEW通过OPC UA实现高效设备通信方案 本文介绍了使用LabVIEW与OPC UA设备通信的完整实施方案。OPC UA协议具有跨平台兼容、高安全性和高效数据交换等优势。实施步骤包括:1)安装NI OPC UA工具包;2)搭建模拟测试环境,使用OPC UA Simulation Server创建测试变量;3)编写LabVIEW程序,实现连接服务器、事件订阅、数据读写等功能。重点展示了通过用户事件实现设备主动触发的机制,当模拟变量值改变时自动触发LabVIEW事件处理。该方案验证了OPC UA在工业

weixin_38637405的博客 1401

Swift-GCD和NSOperation

iOS的GCD和NSOperation的swift版本,全部知识体系。

m0_49556278的博客 969

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

swift3.0 GCD

var myQueue: DispatchQueue?     var myQueueTimer: DispatchQueue?     var myTimer: DispatchSourceTimer?     var myGroup: DispatchGroup?     var mySource: DispatchSource? //MARK: - 并行队列   没有attri

Flying_in_the_world的专栏 566

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

iOS - Swift NSTimer 定时器


 前言 public class NSTimer : NSObject 作用 在指定的时间执行指定的任务。 每隔一段时间执行指定的任务。 1、定时器的创建 当定时器创建完(不用 scheduled 的,添加到 runloop 中)后,该定时器将在初始化时指定的 ti 秒后自动触发。 scheduled 方式: 创建并启动定时器。 默认将时钟以 N...

rstbfveradsvc 444

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Swift 3.0 延迟加载的几种实现方法

主要总结了Swift3.0延迟加载的几种实现方法

风中流浪的博客 1万+

Swift 定时器(转载)

具体最好还是见原文地址: iOS - Swift NSTimer 定时器 http://www.cnblogs.com/QianChia/p/5777473.html 本文目录 前言 1、定时器的创建 2、定时器的启动与关闭 3、子线程定时器的创建 4、定时任务 回到顶部 前言 public class NSTimer : NSObje...

优快云666666888888的博客 565

Swift 3.0 延迟加载实现方法。

可以用4种方式实现延迟加载,下面就一一介绍 1.使用perform方式,代码如下 perform(#selector(scrollViewDidEndDecelerating), with:self, afterDelay:0.4) 2.使用GCD方式,代码如下 DispatchQueue.main.asyncAfter(deadline:...

dgzr3370的博客 177

swift3.0 GCD

var myQueue: DispatchQueue? var myQueueTimer: DispatchQueue? var myTimer: DispatchSourceTimer? var myGroup: DispatchGroup? var mySource: DispatchSource?//MARK: - 并行队列 没有attributes,默认是

mifit的博客 2007

PullToMakeSoup 迁移指南:从 Swift 3 到 Swift 5 的兼容适配经验

PullToMakeSoup 是一款可以直接挂载到 UIScrollView 上的自定义**下拉刷新动画组件**,用煮汤的趣味动画替代系统默认刷新菊花。如果你正在维护一个基于 **Swift 3 迁移到 Swift 5** 的老项目,这篇文章就是为你准备的实战笔记——我们会一起梳理语法差异、依赖适配和踩坑点,让你的**下拉刷新动画库**在最新的 Xcode 环境下平稳运行。 [![PullToM

gitblog_00744的博客 999

推荐开源项目:Chronos-Swift——强大的GCD工具库

推荐开源项目:Chronos-Swift——强大的GCD工具库 Chronos-Swift:hourglass: Grand Central Dispatch Utilities项目地址:https://gitcode.com/gh_mirrors/ch/Chronos-Swift 1、项目介绍 在iOS和macOS开发中,Grand Central Dispatch(GCD)是一个强大而不可...

gitblog_00066的博客 394
上一篇: swift3.0使用友盟分享遇到无法调出分享界面的解决办法
下一篇: iOS中用swift转换日期的几个通用函数
布衣来者
博客等级 码龄12年 16粉丝 69原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值