2011-10-20 1 views
1

최근 아이폰 개발을위한 객관적인 C를 배우려고했지만 아이폰 3 개발에 관한 책을 샀습니다. 그래서 구식입니다. 책 예제와 xcode 기본 코드에서 코드 레이아웃의 차이점을 발견했습니다. 제 질문은 -void (dealloc) 함수를 사용하는 것입니다.xcode 4.1의 할당 해제 기능

기본 "보기 기반"프로젝트를 만들었고 내 책에는 내 viewController.m 파일에 "dealloc"기능이 있지만 xcode 4.1에는 viewController.m에 dealloc 기능이 없다고 명시되어 있습니다. 유일한 dealloc 함수는 AppDelegate.m 파일에서 id를 찾을 수 있습니다.

그래서 제 질문은 마지막입니다 :

내가

@synthesize nameField; 

나는 다음과 같이 그 변수를 해제 viewController.m에서의 dealloc 함수를 만들려면 어떻게해야합니까보기 controller.m에서 인스턴스 변수를 합성하는 경우 ?

- (void) dealloc 
    { 
     [nameField release]; 
     [numberField release]; 
     [super dealloc]; 
    } 

답변

3

당신이 nameField 선언 속성이 할당 있다면 그것은 의존 유지하거나 사본 (이의 이해를 얻기 위해 메모리 관리 가이드에 보일 것입니다). 기본적으로 속성이 retain 또는 copy이면 dealloc 메서드에서 해제해야합니다. 그렇지 않으면 안됩니다.

+0

예 예전에 사용했던 속성은 그대로였습니다. 이제 release를 사용하는 방법과 사용법을 이해했습니다. delegate.m 파일에서 "dealloc"과 같은 함수가 던져졌지만 몇 가지 예제를 통해 이제 볼 수 있습니다. 내가 viewcontroller에서 선언 한 것은 delegate와 직접적으로 관련이 없으므로 viewcontroller.m 파일 내에서 관리되어야합니다. 통찰력을 가져 주셔서 감사합니다! – user1005240