Skip to content

Latest commit

 

History

History
36 lines (26 loc) · 1.94 KB

README.md

File metadata and controls

36 lines (26 loc) · 1.94 KB

Sonamu

  • So(그래서), 나 무엇을 해야하지? 애플리케이션 Sonamu스파르타코딩클럽 내일배움캠프의 앱개발 숙련 과제입니다.
  • 학습한 내용을 적용시키고 추가적으로 Apple에서 제공하는 여러 기본 기능을 적용하고 숙지하는 것이 목표입니다.

구현

  • Coordinator + MVVM Pattern 학습 및 적용
  • UserDefaults를 사용해서 데이터 일관성 유지
  • Lazy Initialization형태로 UI 컴포넌트 적용
  • UITableView Section / Header 활용
  • URLSession을 활용한 이미지 데이터 UIImageView 사용
  • UISwipeActionsConfiguration으로 LeadingSwipeAction 적용

Application Layer

ApplicationLayer

About Coordinator Pattern

  • 기존 화면 전환은 이전 UIViewController가 다음UIViewController가 무엇인지 알고 있어야 하는 구조이다.
  • UIViewController의 결합도를 증가시킬 수 밖에 없는 구조이다.

실제로 Instruments의 Leaks를 통해 Persistant 수치가 가끔 누적되는 현상을 목격할 수 있다.

  • 심한 커플링 현상은 Memory Leak 현상이 발생할 수 있기 때문에 애플리케이션 규모가 커질수록 테스트도 힘들어진다.
  • 코디네이터 패턴은 이러한 문제를 방지할 수 있다.
  • 모든 UIViewControllerCoordinator인스턴스만 보유한다.
  • 모든 UIViewController는 자신을 제외하고 다른 UIViewController인스턴스를 보유하지 않는다.
  • 화면 전환과 관련된 기능은 무조건 Coordinator에게 요청하고 결과를 UIViewController에게 전달하는 방식으로 동작하게 한다.