Swift 簡單的計時器方法 ⏰

在開發 iOS App 時,有時候會需要使用到計時器,例如倒數計時、每秒更新時間等等,在 Swift 中,可以使用 Timer 來實現這些功能。

Timer 是一個重複執行的方法,可以指定時間間隔,每次間隔時間到了,就會執行一次指定的方法,可以用來做倒數計時、每秒更新時間等等。

使用 Timer 實現倒數計時

使用 Timer 實現倒數計時,可以使用 scheduledTimer 方法,第一個參數是時間間隔,第二個參數是指定的方法,第三個參數是指定的參數,第四個參數是是否重複執行,如果設定為 true,則會重複執行指定的方法,如果設定為 false,則只會執行一次指定的方法。

// 宣告一個 Timer
var timer: Timer?

// 宣告一個計數變數
var count = 10

// 宣告一個方法,每次間隔時間到了,就會執行這個方法
func updateTime() {
    // 每次執行時,將計數變數減 1
    count -= 1
    // 如果計數變數小於等於 0,則停止 Timer
    if count <= 0 {
        timer?.invalidate()
    }
    // 將計數變數顯示在 Label 上
    label.text = "\(count)"
}

// 啟動 Timer,每秒執行一次 updateTime 方法
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateTime), userInfo: nil, repeats: true)

使用 Timer 實現每秒更新時間

使用 Timer 實現每秒更新時間,可以使用 scheduledTimer 方法,第一個參數是時間間隔,第二個參數是指定的方法,第三個參數是指定的參數,第四個參數是是否重複執行,如果設定為 true,則會重複執行指定的方法,如果設定為 false,則只會執行一次指定的方法。

// 宣告一個 Timer
var timer: Timer?

// 宣告一個方法,每次間隔時間到了,就會執行這個方法
func updateTime() {
    // 取得目前時間
    let date = Date()
    // 將時間格式化為字串
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "HH:mm:ss"
    let dateString = dateFormatter.string(from: date)
    // 將時間顯示在 Label 上
    label.text = dateString
}

// 啟動 Timer,每秒執行一次 updateTime 方法
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateTime), userInfo: nil, repeats: true)

以上就是 Swift 中簡單的計時器方法,可以用來實現倒數計時、每秒更新時間等等功能。

推薦閱讀文章

Swift Tutorial: Part 2 – A Simple iOS App
Swift Tutorial: Part 3 – From Objective-C to Swift
Swift Tutorial: Part 4 – A Simple iOS App, Part 2
Swift Tutorial: Part 5 – A Simple iOS App, Part 3
Swift Tutorial: Part 6 – A Simple iOS App, Part 4</a

延伸閱讀本站文章

更多swift相關文章

Swift 簡單的計時器方法 ⏰

Categorized in:

Tagged in:

,