如何在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