Swift 延遲執行 過幾秒再叫我💤

簡介

Swift要怎麼延遲執行func? 想延遲想暫停幾秒在呼叫func或是執行其他程式,在iOS裡面可以用GCD控制也可以使用Timer,最簡單的就是Sleep。

GCD延遲行func

方法一 : DispatchQueue.main.asyncAfter

DispatchQueue.main.asyncAfter(deadline: .now() + 4) {
    self.test3()
}
func test3() {
    print("3")
}

方法二 : DispatchQueue.global().asyncAfter

DispatchQueue.global().asyncAfter(deadline: .now() + 5) {
    self.test4()
}
func test4() {
    print("4")
}

Timer延遲行func

方法一 : Timer.scheduledTimer

Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(test2), userInfo: nil, repeats: false)
@objc func test2() {
    print("2")
}

方法二 : Thread.sleep

注意 – sleep會停住所有動作

Thread.sleep(forTimeInterval: 4)
// print("你要的過4秒後才會在這執行")

perform延遲行func

self.perform(#selector(test1), with: nil, afterDelay: 2)

執行結果

Swift 延遲執行

Swift更多文章

Swift 彈出視窗 AlertController 的使用方法 💥

Swift 判斷螢幕方向 📱

Swift Core Data 實現 💾🔥

Swift UISegmentedControl 💻分段控制器!

Swift 實現抽屜效果 🧹


Categorized in: