inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스

타이머 오차

120

smart_ares

작성한 질문수 13

0

안녕하십니까? 강사님

강의를 열심히 듣고 있는 중입니다.

363강 Step #29 - Timer를 실습하던중 의문점이 생겨서 문의 드립니다.

30초에 타이머가 일시정지하게끔 하거나 중지시키게 하면 항상 2-3초의 오차가 발생합니다.

이게 소스상의 문제인지 아님 다른 문제인지 알수가 없어서 문의 드립니다.

스크린샷 2025-07-06 오전 8.12.34.png.webp

 

ios swift git

답변 2

0

KxCoding

기본적으로 asyncAfter에서 약간의 오차(0.1초 이내)가 발생할 가능성이 있습니다.

이것보다 큰 오차가 발생한다면 코드에 문제가 있거나, 맥 자체의 리소스가 부족해서 프리뷰에서 딜레이가 발생할 가능성이 있습니다.

시뮬레이터 또는 실제 디바이스에서 실행해보시고 오차가 0.1초 이내라면 프리뷰의 오차는 무시하셔도 됩니다. 여전히 동일한 수준의 딜레이가 발생한다면 코드를 다시 한 번 점검해 보시기 바랍니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. smart_ares님.

타이머에서 발생하는 오차는 여러 원인으로 인해 발생할 수 있습니다. 특히 Swift에서 Timer는 UI 업데이트와 같이 이벤트를 관리하는 Run Loop에서 실행되기 때문에, 다른 실행 중인 작업에 의해 지연될 수 있습니다. 일반적으로 iOS 애플리케이션에서는 DispatchSourceTimer를 사용해서 보다 정확한 타이머 구현이 가능합니다.

하지만 기술적인 복잡성을 줄이고 학습 목적으로 Timer를 사용하고 있다면, 몇 가지 사항을 확인해 볼 수 있습니다:

  1. 타이머의 정확도:

    • Timertolerance 속성을 설정하여 일정한 허용 오차를 설정할 수 있습니다. 이는 타이머의 에너지 효율성을 높여주지만, 절대적인 정확도가 요구된다면 적절한 조정을 해주어야 합니다.
  2. UI 업데이트 주기:

    • UI가 주기적으로 업데이트되면서 발생하는 지연을 최소화하기 위해, 타이머가 주요 실행 루프의 디폴트 모드가 아닌 다른 모드에서 실행되고 있는지 확인하십시오.
  3. 백그라운드 작업:

    • 타이머가 백그라운드 작업과 경쟁하고 있지는 않은지 확인해 주세요. 타이머가 백그라운드에서 실행되고 있을 경우, 정확도가 떨어질 수 있습니다.

관련한 유사한 문제의 해결책을 찾는 데 도움이 되는 게시물을 소개합니다:

위의 링크를 참고하시면 문제 해결에 도움을 받을 수 있습니다. 또한, 필요하신 경우 추가적인 로그나 코드를 함께 제공해 주시면 보다 명확한 해결책을 찾는 데 큰 도움이 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

수강 기간 연장 문의

0

22

1

수강연장부탁드려도될까요..

0

37

2

간단한 사이드 프로젝트 작성에도 Max 요금제를 결제하는게 좋을까요?

0

47

2

Combine Playground 에서 실행 시

0

52

2

git 커밋한 내용 궁금합니다.

0

21

1

충돌의 최소화 파트 질문입니당!

0

26

1

70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문

0

40

1

searchable이 화면 하단에 위치해요

0

60

2

430강 modularization

0

79

2

개발버전 release 버전 실습 중 오류-부탁드립니다.

0

105

2

메모의 그룹을 클릭할때마다 항목이 틀리게 나옵니다.

0

93

2

수업 중 궁금한 부분이 있습니다.

0

79

2

Xcode Live Rendering 문의

0

96

2

Xcode에 gpx파일이 인식이 안됩니다.

0

210

2

API 출력 오류.. 도와주세요.

0

160

2

play ground 오류?? 원인을 알고 싶습니다.

0

164

2

런타임 오류... 부탁드립니다.

0

204

2

런타임 오류 - 조언 부탁드립니다.

0

190

2

Playground 실행중 오류

0

239

2

Custom Activity Item 질문

0

105

2

오류를 원인을 알고 싶습니다.

0

142

1

클로저 문법최적화 확인부탁드립니다!

1

112

2

Section21 Nework Part1 / JSON

0

150

2

파라미터와 아규먼트 혼동

0

207

3