Swift 计时器

17 Mar 2025 | 阅读 2 分钟

在开发移动应用程序时,有时我们需要安排一些任务在将来执行。 Swift 提供了一个 Timer 类,我们可以使用它在一定时间间隔后执行任务。

在本文中,我们将讨论如何使用 swift 定时器来安排任务。 此外,我们将讨论如何使用重复定时器和非重复定时器。

以下代码创建并运行一个重复定时器。

上面的代码需要在同一个类中定义一个 @objc 方法 fireTimer()。

在这里,我们将定时器设置为每 1 秒执行一次。 因此,fireTimer() 方法将每 1 秒调用一次。 但是,Swift 允许我们在创建重复定时器时定义闭包,如下所示。

这两个初始化器都用于返回创建的定时器。 但是,我们可以将返回的值存储在一个属性中,以便稍后使其无效。

创建非重复定时器

如果我们只想运行一次代码,则创建非重复定时器。 为此,我们需要在创建定时器时将 repeats 属性更改为 false。

结束定时器

我们可以通过为定时器对象调用 invalidate () 方法来结束现有定时器。 考虑以下示例,它每 1 秒运行一次代码,共四次,然后使定时器无效。

它在控制台上打印以下输出。

"Timer fired"
"Timer fired"
"Timer fired"
"Timer fired"

在上面的示例中,我们在创建定时器时使用了闭包。 我们可以在这里使用方法方法。 但是,请在方法中使定时器对象无效,如下所示。