아이폰
Swift 타이머(Timer) 사용
SourceTree
2021. 11. 20. 08:48
반응형
60초 카운트다운(CountDown)으로 동작하는 타이머 사용 예제입니다.
예제 코드
//타이머 변수 선언
var timer : Timer?
//타이머에 사용할 번호값
var timerNum: Int = 0
//타이머 시작
public func startTimer() {
//기존에 타이머 동작중이면 중지 처리
if timer != nil && timer!.isValid {
timer!.invalidate()
}
//타이머 사용값 초기화
timerNum = 60
//1초 간격 타이머 시작
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timerCallback), userInfo: nil, repeats: true)
}
//타이머 동작 func
@objc func timerCallback() {
//60초 ~ 1초 까지 timeBtn의 타이틀 변경
self.timeBtn.setTitle("\(timerNum)초", for: .normal)
//timerNum에 따른 처리...
if(timerNum > 45) {
//...
} else if(timerNum > 30) {
//...
} else if(timerNum > 15) {
//...
} else {
//...
}
//timerNum이 0이면(60초 경과) 타이머 종료
if(timerNum == 0) {
timer?.invalidate()
timer = nil
//타이머 종료 후 처리...
}
//timerNum -1 감소시키기
timerNum-=1
}반응형