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


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

    在左侧的项目导航区,打开视图控制器的代码文件: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,可以容易通过审核。

  • 相关阅读:
    迭代器,生成器,列表推倒式
    内置函数
    递归与二分算法
    装饰器
    函数进阶
    函数
    MLP神经网络 隐含层节点数的设置】如何设置神经网络隐藏层 的神经元个数
    用CNN及MLP等方法识别minist数据集
    ubuntu 安装Pangolin 过程
    ubuntu16.04 + Kdevelop + ROS开发和创建catkin_ws工作空间
  • 原文地址:https://www.cnblogs.com/strengthen/p/9768675.html
Copyright © 2020-2023  润新知