इस पोस्ट में हम सीखेंगे कि नियमित अंतराल के बाद किसी कार्य को कैसे दोहराना है।
इस उदाहरण में हम एक विशेष समय अंतराल के बाद एक लेबल को बार-बार अपडेट करेंगे।
IOS में हम इस कार्य को प्राप्त करने के लिए टाइमर का उपयोग करते हैं। आइए शुरू करें
चरण 1 − ओपन एक्सकोड → नया प्रोजेक्ट → सिंगल व्यू एप्लीकेशन → चलो इसे "टाइमर" नाम दें
चरण 2 - Main.storyboard खोलें और नीचे दिखाए अनुसार एक लेबल जोड़ें।
चरण 3 - बॉटम लेबल के लिए एक @IBOutlet अटैच करें। इसे टाइमर नाम दें लेबल
चरण 4 - जब से ऐप को लेबल पर लॉन्च किया गया है, तब से हम सेकंड दिखाएंगे। तो, व्यू कंट्रोलर में दो वैरिएबल इस प्रकार घोषित करें।
var timeLaunched: Int = 0 var timer: Timer?
चरण 5 - एक फ़ंक्शन जोड़ें जो लेबल को अपडेट करता है। हम बाद में नियमित अंतराल पर इस फ़ंक्शन को बार-बार कॉल करेंगे।
@objc func updateLabel() { timerLabel.text = " Time Launched = \(timeLaunched) Seconds " timeLaunched += 1 }
जैसा कि आप देख सकते हैं कि यह फ़ंक्शन लॉन्च किए गए समय को बढ़ाता है और इसे लेबल पर दिखाता है।
चरण 6 - टाइमर को इनिशियलाइज़ और ट्रिगर करें। ViewController के viewDidLoad में टाइमर को इनिशियलाइज़ करें और नियमित अंतराल पर फ़ंक्शन अपडेट लेबल को कॉल करें। यहां हम हर 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) }
जैसा कि आप देख सकते हैं कि हमने टाइमर को इनिशियलाइज़ कर दिया है, और 'रिपीट' को ट्रू पर सेट कर दिया है। यह फ़ंक्शन अपडेटलेबल को हर सेकंड कॉल करेगा।
ऐप लॉन्च करें, आप लेबल को हर सेकंड अपडेट होते हुए देख सकते हैं।