天。为有牺牲多壮志,敢教日月换新

[Swift实际操作]七、常见概念-(9)使用定时组件Timer执行定时任务

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

本文将为你演示计时器的使用,使用计时器可以每隔一定时间执行某个函数。

在左侧的项目导航区,打开视图控制器的代码文件:ViewController.swift
现在开始编写代码,实现任务定时的功能。
定义一个定时器对象,并设置执行的时间间隔为1秒,定时执行的任务代码位于尾部的闭包之中。

1 let tmr = Timer(timeInterval: 1.0, repeats: fasle)
2 {
3      (timer) in print("Timer in a block.")
4       //调用定时器的执行方法,开始执行定时任务。
5       tmr.fire()
6 }

接着继续编写代码,将定时任务设置为循环执行。
定义一个定时器对象,并设置执行的时间间隔为1秒,定时执行的任务代码位于尾部的闭包之中。
将是否循环的参数设置为真:repeats: true

1 Timer.scheduledTimer(withTimeInterval: 1.0,repeats: true){
2 {
3    (timer) in print("scheduledTimer in a block.")
4 }

接着继续编写代码,由当前的视图控制器,实现定时任务中的业务功能。
创建一个定时任务,每隔1秒钟,执行一次当前视图控制器的实例方法,并使用UserInfo设置传递的参数。

复制代码
 1 //添加一个数量属性,并设置默认值为0,作为已经想用过的苹果数量
 2 var appleCount = 0
 3 Timer.scheduledTimer(timeInterval: 1,
 4                      target: self,
 5                      selector:#selector(ViewController.timerAction(_:)),
 6                      userInfo:"an apple",
 7                      repeat: true)
 8 //添加一个方法,用来响应定时器的调用
 9 @objc func timerActio(_ timer: Timer)
10 { 
11    //判断当苹果数量等于3时停止定时器
12    if self.appleCount == 3
13    {
14       timer.invalidate()
15       //获得传递的参数,并在控制台输出定时日志
16       let parameter = timer.userInfo
17       print("I'm eating \(parameter!).")
18       //将吃过的苹果数量加1
19       self.appleCount += 1
20     }
21 }
复制代码

 

技巧:我们可以通过NSExceptionDomains来针对特定的域名开放HTTP,可以容易通过审核。

posted @   为敢技术  阅读(984)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
哥伦布
09:09发布
哥伦布
09:09发布
2°
西南风
2级
空气质量
相对湿度
62%
今天
2°/16°
周二
7°/19°
周三
多云
7°/19°