এই পোস্টে আমরা দেখব Swift-এ কীভাবে একটি মেথড কল ডিলে করব। দুটি পদ্ধতি দেখানো হলো।
পদ্ধতি ১: DispatchQueue.main.asyncAfter ব্যবহার করে
Xcode → New Playground খুলুন।
asyncAfter(deadline:execute:) ইনস্ট্যান্স মেথড ব্যবহার করব, যা নির্দিষ্ট সময়ে কাজ শিডিউল করে।
func functionOne() {
let delayTime = DispatchTime.now() + 3.0
print("one")
DispatchQueue.main.asyncAfter(deadline: delayTime, execute: {
hello()
})
}
func hello() {
print("text")
}
functionOne()
এখানে ৩ সেকেন্ড ডিলে সেট করা হয়েছে। প্রথমে "one" প্রিন্ট হবে, ৩ সেকেন্ড পর "text" প্রিন্ট হবে।
পদ্ধতি ২: Timer ব্যবহার করে
Xcode → Single View Application-এ নিচের কোড কপি করুন:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("one")
Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(ViewController.hello), userInfo: nil, repeats: false)
}
@objc func hello() {
print("text")
}
}
অ্যাপ্লিকেশন রান করলে একই আউটপুট পাবেন: প্রথমে "one", ৩ সেকেন্ড পর "text"।