スポンサーリンク
Timerの定期処理
import UIKit
class SampleTimerViewController: UIViewController {
var addTimer = Timer()
var timerCount = 0
override func viewDidLoad() {
super.viewDidLoad()
// タイマーの設定(5秒間隔でメソッド「timerCall」を呼び出す)
addTimer = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(timerCall), userInfo: nil, repeats: true)
}
// タイマーで呼び出されるメソッド
@objc func timerCall() {
timerCount += 1
print("timerCount: \(timerCount)")
if timerCount > 3 {
// タイマーを無効にする
addTimer.invalidate()
print("Timerは無効になりました。")
}
}
}
Timerで指定したメソッドをすぐ呼び出したい時
// fire()は、Timerで指定したメソッド(timerCall)をタイムスケジュール関係なく呼び出します。
// すぐにメソッド(timerCall)を呼び出さない場合、fire()は必要ない。
addTimer.fire()
Timerが有効か調べる
// isValidは、Timerが有効な場合はtrue、無効な場合はfalseを返す
if addTimer.isValid {
print("Timerは有効です。")
} else {
print("Timerは無効です。")
}
Timerを無効にする
// タイマーを無効にする
addTimer.invalidate()
動作環境:Xcode10.1, Swift4.2.1
コメント
コメントはありません。