如何在Swift (iOS)中定期重複執行任務?


在這篇文章中,我們將學習如何在指定時間間隔後重復執行任務。

在這個例子中,我們將定期更新標籤。

在iOS中,我們使用Timer來實現這個任務。讓我們開始吧!

步驟1 - 開啟Xcode → 新建專案 → 單檢視應用程式 → 命名為“Timer”

步驟2 - 開啟Main.storyboard並新增一個標籤,如下圖所示。

步驟3 - 為底部的標籤新增一個@IBOutlet。命名為timerLabel

步驟4 - 我們將在標籤上顯示自應用程式啟動以來的秒數。因此,在檢視控制器中宣告兩個變數,如下所示。

var timeLaunched: Int = 0
var timer: Timer?

步驟5 - 新增一個更新標籤的函式。稍後我們將定期呼叫此函式。

@objc func updateLabel() {
   timerLabel.text = " Time Launched = \(timeLaunched) Seconds "
   timeLaunched += 1
}

如您所見,此函式會遞增啟動時間並在標籤上顯示它。

步驟6 - 初始化並觸發計時器。在ViewController的viewDidLoad中初始化計時器,並定期呼叫updateLabel函式。這裡我們每1秒觸發一次該函式。您可以根據需要觸發該函式。

override func viewDidLoad() {
   super.viewDidLoad()
   // Do any additional setup after loading the view, typically from a nib.
   updateLabel()
   timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: (#selector(ViewController.updateLabel)), userInfo: nil, repeats: true)
}

如您所見,我們已初始化計時器並將“repeats”設定為true。這將每秒呼叫一次updateLabel函式。

啟動應用程式,您可以看到標籤每秒更新一次。

更新於:2019年9月11日

864 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.