如何在Swift (iOS)中延迟调用方法?
在这篇文章中,我们将了解如何使用Swift延迟方法调用。我们将介绍两种方法来实现这一点:
让我们开始吧!
我们将在Playground中查看这两个示例。
步骤1 - 打开Xcode → 新建Playground。
在第一种方法中,我们将使用`asyncAfter(deadline: execute:)`实例方法,该方法在指定时间安排工作项执行并立即返回。
您可以在此处了解更多信息 https://developer.apple.com/documentation/dispatch/dispatchqueue/2300020-asyncafter
步骤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秒后执行`hello()`函数。
如果我们运行上面的程序,首先打印“one”,然后3秒后打印“text”。
在第二种方法中,我们将使用`NSTimer`。
您可以将以下代码复制到您的Xcode → 单视图应用程序中。
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”。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP