1

UIViewController에서 self.view에 관한 질문이 있습니다.self.view를 출시해야합니까?

첫째, 내 앱에서 프로그래밍 방식으로 모든 것이 만들어집니다. 그리고 일반적으로 나는에는 loadView 메소드에서 self.view를 만듭니다

self.view = [[UIView alloc]initWithFrame:SCREEN_FRAME]autorelease]; // SCREEN_FRAME is a constant 

를 지금이 순간, self.view의 유지 카운트가 그래서 1

입니다, 내 질문은, 내가 자기를 해제해야합니까. 보기 컨트롤러가 완료되면보기? 그렇다면 어디에서 릴리스해야합니까? 사전 :)의 UIViewController의 구현에 의해 당신을 위해 수행되고

답변

3

에서 매우

감사합니다, 당신이 당신의 dealloc 방법에 [super dealloc]를 호출해야합니다.

+0

답변 해 주셔서 감사합니다. :) – Sunny

0

self.view가 추가되었습니다. 풀을 해제하면 자동 복구 풀과 개체가 해제됩니다. 명시 적으로 해제 할 필요는 없습니다. 풀에 객체를 추가하고 수동으로 해제하면 객체가 두 번 릴리스되기 때문에 예외 double dealloc이 발생합니다.

0

누구든지이 내용을 읽을 수 있도록 위의 대답은 정확하지 않습니다. self.view는 총 보유 수 1에 대해 alloc, retain 및 autorelease라고합니다. retain 호출은 retain 등록 정보와 도트 구문에서옵니다.

그러므로 릴리스 할 필요가 있지만 willcodejavaforfood가 지적한대로 dealloc의 수퍼 구현이이를 수행합니다.

감사합니다.

관련 문제