-
Timer 만들기Programming/iOS 2019. 11. 6. 18:14
/* start 인 상태인가 */ var isStarting = false /* 시작 버튼을 누른 그 시점의 시간 */ var startTime = 0.0 /* 경과된 시간 */ var elapsed = 0.0 /* 일정간격으로 어떤 동작을 해야할때 사용 */ var timer = Timer()
[Start] 버튼을 누르면 Label 의 숫자가 시간만큼 올라가는 Timer 일때,
시간의 계산은 startTime, elapsed 두 변수를 이용해 다음과 같이 한다.
func startStropButton을눌렀을때(){ if isStarting { // stop 을 누른 상태 timer.invalidate() } else { // start 를 누른 상태 startTime = Date().timeIntervalSince1970 - elapsed timer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(updateCounter), userInfo: nil, repeats: true) } } @objc func updateCounter(){ elapsed = Date().timeIntervalSince1970 - startTime let date = Date(timeIntervalSince1970: elapsed) // label 갱신 코드 }
'Programming > iOS' 카테고리의 다른 글
swift] fp - LowHigh (0) 2020.03.05 cocoaPods] 외부 라이브러리 제거후 다시 설치하기 (0) 2020.03.04 swift] fp - fizz buzz 리펙토링 (0) 2020.03.03 swift] fp - 함수형 프로그래밍 기초 (0) 2020.03.03 Struct & Class (0) 2019.11.06