내 UIViewController 클래스에는 여러 IBOutlet 객체가 포함 된 IBOutletCollection이 있습니다. 유지 된 콘센트를 viewDidUnload에서 nil로 설정해야한다는 것을 알고 있지만 IBOutletCollection을 nil로 설정해야합니까? 아니면 dealloc 대신에 릴리즈해야합니까? 아니면 완전히 혼자 남아 있습니까?IBOutletCollections를 UIViewController viewDidUnload에서 nil로 설정해야합니까?
2
A
답변
5
nil
의 콘센트를 viewDidUnload
으로 설정하여 메모리 경고가 수신 될 때보기 컨트롤러가 가능한 한 많은 메모리를 해제 할 수 있도록해야합니다. 메모리 경고에 대한 응답으로 뷰 컨트롤러는 뷰 (및 모든 하위 뷰)가 사용하는 메모리를 해제하기 위해 뷰를 해제합니다. 당신이 보유하고 있거나 강한 참조를 보유하고있는 아울렛을 공개하지 않는다면, 그 아울렛에 의해 참조 된 서브뷰는 파기되지 않을 것이고 그들의 기억은 해제되지 않을 것입니다.
그래, 콘센트 컬렉션의 속성을 nil
viewDidUnload
에 설정해야합니다.
이 요구 사항은 보존 된 모든 ivars/속성을 dealloc
에 릴리스하는 것과 관계가 없습니다.
관련 문제
- 1. viewDidUnload에서 nil로 설정해야하는 속성은 무엇입니까?
- 2. 언제 뷰의 대리자를 nil로 설정해야합니까?
- 3. ivar를 풀어 합성 된 ivar를 동시에 nil로 설정해야합니까?
- 4. 위임자를 사용하여 클래스에서 대리자를 nil로 설정해야합니까? 예 :
- 5. 하위 클래스 UITableViewController, UIViewController 내에서 설정해야합니까?
- 6. dealloc에서 출구 변수를 nil로 설정해야합니까 (IOS 3.0 이후에도)?
- 7. 코코아에서 객체를 선언 할 때 객체를 nil로 설정해야합니까?
- 8. PresentingViewController를 nil로 설정 중
- 9. viewDidUnload에서 객체를 해제 하시겠습니까?
- 10. viewDidUnload에서 정확히 무엇을해야합니까?
- 11. viewdidunload에서 EXC_BAD_ACCESS 가져 오기
- 12. viewDidUnload에서 해제하고 둘 다 dealloc합니까?
- 13. NSString 개체를 nil로 설정하는 것이 합리적입니까?
- 14. 아이폰에 tabbar 이미지를 설정해야합니까?
- 15. UIWebView 대리자 속성을 nil로 설정
- 16. searchFetchedResultsController를 nil로 설정하는 이유는 무엇입니까?
- 17. UIViewController
- 18. UIViewController
- 19. 목표 c : 지역 변수를 사용하여 메모리를 해제 한 후 nil로 설정해야합니까?
- 20. ARC로 모달 뷰 컨트롤러의 델리게이트를 nil로 설정
- 21. AssemblyConfigurationAttribute를 설정해야합니까?
- 22. NSString을 nil로 테스트하려면 어떻게해야합니까?
- 23. rspec에서 false가 nil로 간주됩니까?
- 24. 변수가 nil로 반환됩니다.
- 25. ARC에서 NSArray를 nil로 설정
- 26. ManagedObjectModel에서 nil로 변경
- 27. IBOutlet을 nil로 설정하십시오.
- 28. NSDate를 nil로 초기화하면 EXC_BAD_ACCESS에
- 29. 모든 UITextField에 대한 대리인을 설정해야합니까?
- 30. UIView 및 UIViewController desing 패턴
감사합니다. 이유에 대한 좋은 설명을 +1합니다! – beaudrykock
그러나 콘센트는 일반적으로 약한 참조이므로 nil로 설정하면 아무런 효과가 없습니다. 이것은 ARC 개최 전날의 잔류 물처럼 보입니다. 그것이 어떤 해를 끼치 지 않는다고해서, 나는 그것이 어떤 이익이되는지 확신 할 수 없다. –