Old_SWIFT(221012)/기본이야기

타이머(DispatchSourceTimer), 시간측정 다루기

KataRN 2022. 3. 18. 01:53
반응형

안녕하세요. KataRN입니다.

 

오늘은 시간측정에 대해 알아보려합니다.

 

시간측정하는 방법은 사실 많은데요.. 이 방법이 제일 편하고 좋은것 같아서 글로 남기려고합니다.

 

참고 : 애플공식문서

https://developer.apple.com/documentation/dispatch/dispatchsourcetimer

 

Apple Developer Documentation

 

developer.apple.com

 

아래 코드와 주석으로 설명해드리겠습니다.

var timer: DispatchSourceTimer?

//원하는 쓰레드 지정
timer = DispatchSource.makeTimerSource(flags: [], queue: DispatchQueue.main)
    
//바로시작을 원하니까 dedline은 .now(), 반복되는 시간(타이머니까 1초)
timer?.schedule(deadline: .now(), repeating: 1)

//원하는 함수호출 지정
timer?.setEventHandler(handler: {
    원하는 이벤트 함수
})

//타이머 시작
timer?.resume()

//타이머일시정지
timer?.suspend()

//종료(nil을 반드시 해줄것. 안그러면 시간 계속지나갑니다~)
timer?.cancel()
timer = nil

 

주석으로 설명하니 깔끔한데 휑~하네요..

 

오늘도 긴글 읽어주셔서 감사합니다.

반응형