Daily iOS
메모리·ARC

화면 전환 뒤 객체 해제 확인

UIKit 화면을 닫았는데 그 ViewController가 계속 메모리에 남아 있습니다. deinit 로그만 믿지 않고 누가 붙잡고 있는지 어떻게 찾겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

화면을 닫은 직후 Xcode의 Debug Memory Graph를 찍어 남아 있는 ViewController 인스턴스를 고르고, 오른쪽 인스펙터의 retainer 목록과 그래프의 들어오는 화살표를 따라가 Timer, NotificationCenter 블록 옵저버, 클로저 컨텍스트 중 누가 strong으로 잡고 있는지 확인한다.

받은 질문 공유