如何在Swift (iOS)中定期重复执行任务?


在这篇文章中,我们将学习如何在指定时间间隔后重复执行任务。

在这个例子中,我们将定期更新标签。

在iOS中,我们使用Timer来实现这个任务。让我们开始吧!

步骤1 - 打开Xcode → 新建项目 → 单视图应用程序 → 命名为“Timer”

步骤2 - 打开Main.storyboard并添加一个标签,如下图所示。

步骤3 - 为底部的标签添加一个@IBOutlet。命名为timerLabel

步骤4 - 我们将在标签上显示自应用程序启动以来的秒数。因此,在视图控制器中声明两个变量,如下所示。

var timeLaunched: Int = 0
var timer: Timer?

步骤5 - 添加一个更新标签的函数。稍后我们将定期调用此函数。

@objc func updateLabel() {
   timerLabel.text = " Time Launched = \(timeLaunched) Seconds "
   timeLaunched += 1
}

如您所见,此函数会递增启动时间并在标签上显示它。

步骤6 - 初始化并触发计时器。在ViewController的viewDidLoad中初始化计时器,并定期调用updateLabel函数。这里我们每1秒触发一次该函数。您可以根据需要触发该函数。

override func viewDidLoad() {
   super.viewDidLoad()
   // Do any additional setup after loading the view, typically from a nib.
   updateLabel()
   timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: (#selector(ViewController.updateLabel)), userInfo: nil, repeats: true)
}

如您所见,我们已初始化计时器并将“repeats”设置为true。这将每秒调用一次updateLabel函数。

启动应用程序,您可以看到标签每秒更新一次。

更新于:2019年9月11日

864 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.