2012-06-01 2 views

답변

5

nil의 콘센트를 viewDidUnload으로 설정하여 메모리 경고가 수신 될 때보기 컨트롤러가 가능한 한 많은 메모리를 해제 할 수 있도록해야합니다. 메모리 경고에 대한 응답으로 뷰 컨트롤러는 뷰 (및 모든 하위 뷰)가 사용하는 메모리를 해제하기 위해 뷰를 해제합니다. 당신이 보유하고 있거나 강한 참조를 보유하고있는 아울렛을 공개하지 않는다면, 그 아울렛에 의해 참조 된 서브뷰는 파기되지 않을 것이고 그들의 기억은 해제되지 않을 것입니다.

그래, 콘센트 컬렉션의 속성을 nilviewDidUnload에 설정해야합니다.

이 요구 사항은 보존 된 모든 ivars/속성을 dealloc에 릴리스하는 것과 관계가 없습니다.

+0

감사합니다. 이유에 대한 좋은 설명을 +1합니다! – beaudrykock

+1

그러나 콘센트는 일반적으로 약한 참조이므로 nil로 설정하면 아무런 효과가 없습니다. 이것은 ARC 개최 전날의 잔류 물처럼 보입니다. 그것이 어떤 해를 끼치 지 않는다고해서, 나는 그것이 어떤 이익이되는지 확신 할 수 없다. –

관련 문제