[swift] NSTimerでタイマー機能を実装
NSTimerでタイマー機能を実装
カウントダウン処理や何秒待ったら処理を開始などの時にNSTimerを使用したタイマーが使える
let countDownTime:Int = 6 // 猶予時間 6秒
var waitingTimeCurrent:Int! // 残り猶予時間
var waitingTimer:NSTimer?
override func viewDidLoad() {
super.viewDidLoad()
waitingTimeCurrent = countDownTime//猶予時間を初期化
waitingTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(waitingTimer(_:)), userInfo: nil, repeats: true) //1秒間隔にwaitingTimerを実行をスケジューリングし、即開始
}
func waitingTimer(timer: NSTimer) {
waitingTimeCurrent = waitingTimeCurrent!-1 //1秒猶予時間を減らす
if waitingTimeCurrent <= 0 {
//猶予時間が0以下になったらタイマーを停止し
waitingTimerStop()
//処理.....
}else{
//猶予時間が残っていたら
}
}
func waitingTimerStop(){
// 読み込み停止
if(self.waitingTimer != nil && self.waitingTimer!.valid){
self.waitingTimer!.invalidate() //タイマーを無効にする=停止する
}
}