[TIL] 2021.03.26

승아·2021년 3월 26일
0

👩🏻‍💻 오늘 공부한 내용

Timer 설정 ( 참고 사이트 )

  1. 필요한 변수 선언
var timer: Timer?
var count: Double = 0
  1. Timer 정의
  • timeInterval : 간격
  • target : 동작될 View
  • selector : 실행할 함수
  • userInfo : 사용자 정보
  • repeates : 반복
override func viewDidLoad() {
    super.viewDidLoad()
    
    timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(setTime), userInfo: nil, repeats: true)
}
  1. 실행할 함수 정의
@objc func setTime(){
    timerLabel.text = secondsToString(sec: count)
    count += 1
}

func secondsToString(sec: Double) -> String {
    guard sec != 0 else { return "00 : 00" }
    let totalSeconds = Int(sec)
    let min = totalSeconds / 60
    let seconds = totalSeconds % 60
    print("\(min) : \(seconds)")
    // %02d : 빈칸을 2개로 하되 빈칸엔 0을 넣겠다.
    return String(format: "%02d : %02d", min, seconds)
}
  1. Timer 정지
  • 뷰를 빠져나와도 Timer는 계속 실행되기 때문에 멈춰줘야됨
override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(true)
    timer?.invalidate()
}

0개의 댓글