Skip to content

nbcamp-archive/advanced-todo-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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에게 전달하는 방식으로 동작하게 한다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages