반응형

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
}
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기