当前位置: 首页 > 编程笔记 >

在 Swift (iOS)延迟后如何调用方法?

林俊晖
2023-03-14
本文向大家介绍在 Swift (iOS)延迟后如何调用方法?,包括了在 Swift (iOS)延迟后如何调用方法?的使用技巧和注意事项,需要的朋友参考一下

在本文中,我们将看到如何使用Swift延迟方法调用。在这里,我们将看到如何以两种方式实现相同的目标,

所以我们开始吧

我们将在Playground中看到两个示例,

步骤1-打开Xcode→New Playground。

在第一种方法中,我们将使用asyncAfter(deadline:execute:)实例方法,该方法计划在指定时间执行工作项并立即返回。

步骤2-在Playground中复制以下代码并运行,

func functionOne() {
   let delayTime = DispatchTime.now() + 3.0
   print("one")
   DispatchQueue.main.asyncAfter(deadline: delayTime, execute: {
      hello()
   })
}
func hello() {
   print("text")
} functionOne()

在这里,我们创建一个函数functionOne,首先声明延迟时间为3秒。然后,我们使用asyncAfter,其中将延迟时间作为参数,并要求在3秒后html" target="_blank">执行hello()函数。

如果我们先运行上述程序,则首先打印“one”,然后在3秒钟后打印“text”。

在第二种方法中,我们将使用NSTimer,

您可以在Xcode→Single View应用程序中复制以下代码

class ViewController: UIViewController {
   override func viewDidLoad() {
      super.viewDidLoad()
      print("one")
      Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(ViewController.hello), userInfo: nil, repeats: false)
   }
   @objc func hello() {
      print("text")
   }
}

运行该应用程序,您将看到相同的输出,将输出 one,并在3秒钟后输出 text。

 类似资料:
  • 问题内容: 我希望能够在指定的延迟后调用以下方法。在目标c中,有类似以下内容: android和java中的此方法是否等效?例如,我需要能够在5秒钟后调用一个方法。 问题答案: Kotlin Java

  • 问题内容: 我在延迟游戏中电脑的移动时遇到问题。 我找到了一些解决方案,但在我的情况下它们不起作用,例如 我试图将此与功能一起使用,但也没有任何效果。 还有其他可能性吗? 问题答案: 迅捷3 使用GCD: 或使用计时器: 迅捷2 使用GCD: 或使用计时器:

  • 问题内容: 我想暂时暂停我的应用。换句话说,我希望我的应用执行代码,但是在某个时候暂停4秒钟,然后继续执行其余的代码。我怎样才能做到这一点? 我正在使用Swift。 问题答案: 如果要从UI线程调用该方法,则可以考虑使用或调度计时器,而不是进行睡眠(这会锁定您的程序)。 但是,如果您确实需要延迟当前线程: 这使用UNIX中的功能。

  • 如标题所示,在中,是否有方法在延迟(例如1秒)后调用函数?

  • 问题内容: 在早期版本的Swift中,可以使用以下代码创建延迟: 但现在,斯威夫特3时,Xcode自动改变6个不同的东西,但随后出现以下错误:“无法转换到预期值又名”。 在Swift 3中运行一系列代码之前,如何创建延迟? 问题答案: 经过大量研究,我终于找到了答案。 这会在Swift 3和Swift 4中创建所需的“等待”效果。

  • 本文向大家介绍一定延迟后如何调用jQuery函数?,包括了一定延迟后如何调用jQuery函数?的使用技巧和注意事项,需要的朋友参考一下 要在一定延迟后调用jQuery函数,请使用方法。在这里,几秒钟后调用jQuery函数。 您可以尝试运行以下代码,以了解如何使用jQuery中的方法在延迟后调用jQuery函数- 示例