Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

จะทำซ้ำงานซ้ำ ๆ หลังจากช่วงเวลาปกติใน Swift (iOS) ได้อย่างไร


ในโพสต์นี้ เราจะเรียนรู้วิธีทำงานซ้ำหลังจากช่วงเวลาปกติ

ในตัวอย่างนี้ เราจะอัปเดตป้ายกำกับหลังจากช่วงเวลาหนึ่งซ้ำๆ

ใน iOS เราใช้ตัวจับเวลาเพื่อให้งานนี้สำเร็จ มาเริ่มกันเลย

ขั้นตอนที่ 1 − เปิด Xcode → โครงการใหม่ → แอปพลิเคชั่นมุมมองเดียว → ตั้งชื่อมันว่า "ตัวจับเวลา"

ขั้นตอนที่ 2 − เปิด Main.storyboard และเพิ่มป้ายกำกับตามที่แสดงด้านล่าง

จะทำซ้ำงานซ้ำ ๆ หลังจากช่วงเวลาปกติใน Swift (iOS) ได้อย่างไร

ขั้นตอนที่ 3 - แนบ @IBOutlet หนึ่งรายการสำหรับป้ายกำกับด้านล่าง ตั้งชื่อว่า timerLabel

ขั้นตอนที่ 4 − เราจะแสดงวินาทีตั้งแต่เปิดตัวแอปบนฉลาก ดังนั้นให้ประกาศตัวแปรสองตัวใน view controller ดังนี้

var timeLaunched: Int = 0
var timer: Timer?

ขั้นตอนที่ 5 − เพิ่มฟังก์ชันที่อัปเดตป้ายกำกับ เราจะเรียกใช้ฟังก์ชันนี้ซ้ำๆ เป็นระยะๆ ในภายหลัง

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

อย่างที่คุณเห็นฟังก์ชันนี้จะเพิ่มเวลาที่เรียกใช้และแสดงบนฉลาก

ขั้นตอนที่ 6 - เริ่มต้นและเรียกตัวจับเวลา ใน viewDidLoad ของ ViewController เริ่มต้นตัวจับเวลาและเรียกใช้ฟังก์ชัน 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)
}

อย่างที่คุณเห็น เราได้เริ่มต้นตัวจับเวลา และตั้งค่า 'ซ้ำ' เป็นจริง ซึ่งจะเรียกใช้ฟังก์ชัน updateLabel ทุกวินาที

เปิดแอป คุณจะเห็นป้ายกำกับอัปเดตทุกวินาที

จะทำซ้ำงานซ้ำ ๆ หลังจากช่วงเวลาปกติใน Swift (iOS) ได้อย่างไร