-
[Combine] 시간차를 두고 값을 내보내주자 - debounceSwift 2023. 1. 14. 10:05
아래와 같은 화면을 구현했습니다 👇👇
텍스트필드에 들어오는 입력을 즉각으로 계속해서 필터링해서 화면을 그려주면 우리의 아이폰은 죽어버리거나 뜻하지 않는 프리즈현상 혹은 에러를 마주할지도 몰라요... 그래서 받은 입력받은 값을 시간차를 두고 필터한 다음에 화면에 그려주고 싶은데요. 그럴때 사용할 수 있는 메써드가 combine 의 debounce 입니다
애플 공식 도큐먼트를 읽어보면 시간차를 두고 요소를 뱉어낸다고 되어있네요.
아래 실행순서를 읽어보면 입력이 들어오고 -> 시간차를 두고 -> 필터하고 -> 화면에 뿌려줍니다.
이렇게 하면 모든 입력에 예민하게 반응할 필요가 없겠죠? 결과적으로 안정성이 확보되었다고 생각이 듭니다~!
'Swift' 카테고리의 다른 글
[Swift] struct 는 왜 메모리릭 걱정을 안해도 되는걸까? (0) 2023.01.26 [Swift] CodingKeys 작성, 이제 제발 그만하자 - JSONDecoder, keyDecodingStrategy (0) 2023.01.15 [Combine] Publishers 를 합쳐서 한번에 처리해주자 - combineLatest (4) 2023.01.13 [Combine] tryMap 말고 compactMap 으로 조져보자 (0) 2023.01.13 [Swift] GCD DispatchQueue 에 대해서 (0) 2023.01.09