iOS 검색 홈, SwiftUI로 부드럽고 유연하게!
by DD
5개월 전
조회수 18
검색 홈의 복잡성 해결을 위해 모듈 분리 및 SwiftUI 전환을 진행함
탭 구조 개선을 통해 각 탭의 독립성과 확장성을 확보하고, 부드러운 화면 전환 구현
Converter를 활용한 데이터 변환 로직 분리로 코드 유지보수성 향상
모듈 분리를 통한 아키텍처 개선
기존 GCSearch 모듈을 GCSearchHome과 GCSearchResult로 분리하여 책임 분리를 달성했다. 구체적으로, 각 모듈은 하나의 화면에 집중하도록 설계되었으며, 인터페이스 기반 통신을 통해 의존성을 최소화했다. 따라서 빌드 속도 향상과 코드 유지보수성을 확보했다.
탭 구조 개선: TabInfoAppModel
각 탭의 상태를 추상화하기 위해 TabInfoAppModel 프로토콜을 정의하고, 각 탭의 상태 모델이 이를 채택하도록 설계했다. 따라서 SwiftUI View에서 일관된 방식으로 탭을 렌더링할 수 있다. 데이터 추상화를 통해 코드 중복 감소 및 유지보수 용이성을 확보했다.
Converter를 활용한 데이터 변환
각 탭의 데이터 변환 로직을 Converter로 분리하여, 서버 API 응답이나 로컬 DB 데이터를 AppModel로 변환한다. Converter 분리를 통해 변경 범위 최소화 및 뷰의 안정성을 확보했다. 결과적으로 테스트 용이성을 높여 코드 품질을 향상시켰다.
댓글 0
첫 번째 댓글을 남겨보세요!