🍎 Swift/오류 잡아라!
[오류] 테이블뷰 이벤트 발생 시 UI 작업이 중단되는 현상(스톱워치)
솔비님
2024. 8. 20. 15:38
오류내용
아래 영상과 같이 스톱워치에서 랩 기록 후 테이블뷰 스크롤 시 타이머가 중단됨!!
애플 공식문서를 확인해보니어떤 스레드에서 작업할지 설정 가능한 DispatchSourceTimer가 있다고 함
https://developer.apple.com/documentation/dispatch/dispatchsourcetimer
DispatchSourceTimer | Apple Developer Documentation
A dispatch source that submits the event handler block based on a timer.
developer.apple.com
나는 지금 Timer을 이용해서 스톱워치 작업을 했는데 일단 바꿔줌
오류 발생
이벤트 발생 시 타이머가 중단되지 않게하기 위하여
타이머는 글로벌 스레드에서 돌아가고, UI 작업인 텍스트는 메인 스레드에서 돌아가게 설정
DispatchSourceTimer는 .invalidate() 메서드가 존재하지 않아 변경해줌
엥 오류발생
resume()으로 호출을 안 해줘서 그런거였다
잘됨 하하