Skip to content

Delegate와 순환참조

sustainable-git edited this page Nov 23, 2021 · 1 revision

발생한 문제

  • 보다시피 ViewController가 Deinit되지 않아 들어갈 때 마다 계속 생기기만 하여 메모리가 계속 증가하는 모습

해결 과정

  • 가정: 문제의 근원은 순환참조일 것이다

    • weak self가 선언이 안된 곳이 있나?

      • 모든 부분에서 잘 선언이 됨
    • 분명 전에는 정상적으로 deinit이 되었던 걸로 기억한다. 오늘 추가된 부분이 문제가 있나?

      • Coordinator에서 CoreData를 주입하는 부분을 고쳐보았지만, 문제가 없는 부분이었음
    • 그럼 어제 상황으로 돌아가면?

    • 어제도 deinit이 안 되었음

    • 혹시 Delegate?

      • View의 Delegate가 weak 선언이 안 되어 있었음
      • 문제 해결

결과

  • 편- 안-

  • 느낀점

    • Delegate를 사용할 때에 항상 AnyObject를 잘 달자
    • Delegate property는 weak로 선언해야 한다
Clone this wiki locally