[TIL] 포켓몬 연락처 앱 트러블슈팅

Eden·2025년 7월 14일

처음 제가 작성했던 코드는 enum으로 상태를 정의하고, state 프로퍼티의 didSet에서 모든 UI 변경을 처리하는 구조였죠.

무엇이 문제였을까?

하나의 didSet에 모든 책임이 집중 (Massive didSet): state가 변경될 때마다 어마어마한 양의 UI 코드가 실행됩니다. 새로운 상태가 추가되면 이 didSet은 더 거대하고 복잡해질 게 뻔했습니다.


해결방법

  • 상태(State)와 데이터(Data)를 분리한다.
  • UI 업데이트 로직을 책임에 따라 함수로 분리한다.
  • didSet은 단지 "상태가 변경되었음"을 알리는 역할만 한다.

다음 프로젝트 할때는 주의해서 해야겠습니다

profile
iOS Dev

0개의 댓글