iOS 검색 홈, SwiftUI로 부드럽고 유연하게!

by DD
5개월 전
조회수 18

검색 홈의 복잡성 해결을 위해 모듈 분리SwiftUI 전환을 진행함

탭 구조 개선을 통해 각 탭의 독립성과 확장성을 확보하고, 부드러운 화면 전환 구현

Converter를 활용한 데이터 변환 로직 분리로 코드 유지보수성 향상

모듈 분리를 통한 아키텍처 개선

기존 GCSearch 모듈GCSearchHomeGCSearchResult로 분리하여 책임 분리를 달성했다. 구체적으로, 각 모듈은 하나의 화면에 집중하도록 설계되었으며, 인터페이스 기반 통신을 통해 의존성을 최소화했다. 따라서 빌드 속도 향상코드 유지보수성을 확보했다.

탭 구조 개선: TabInfoAppModel

각 탭의 상태를 추상화하기 위해 TabInfoAppModel 프로토콜을 정의하고, 각 탭의 상태 모델이 이를 채택하도록 설계했다. 따라서 SwiftUI View에서 일관된 방식으로 탭을 렌더링할 수 있다. 데이터 추상화를 통해 코드 중복 감소유지보수 용이성을 확보했다.

Converter를 활용한 데이터 변환

각 탭의 데이터 변환 로직Converter로 분리하여, 서버 API 응답이나 로컬 DB 데이터를 AppModel로 변환한다. Converter 분리를 통해 변경 범위 최소화뷰의 안정성을 확보했다. 결과적으로 테스트 용이성을 높여 코드 품질을 향상시켰다.

복잡한 검색 홈, 구조는 유연하게 화면은 부드럽게 개선하기

댓글 0

첫 번째 댓글을 남겨보세요!