나는 아래와 같이의 ViewController 설정이있는 경우 :메모리 관리 & viewDidUnload?
@interface MapViewController : UIViewController <MKMapViewDelegate, CLLocationManagerDelegate> {
CLLocationManager *locationManager;
}
-(void)viewDidLoad {
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
}
그것은 내가 모두 viewDidUnload &의 dealloc에 자료를 추가해야 메모리 관리에 관해서?
-(void)viewDidUnload {
[locationManager release];
locationManager = nil;
[super viewDidUnload];
}
-(void)dealloc {
[locationManager release];
[super dealloc];
}
환호 게리
EDIT:
[슈퍼 할당 해제가] 학장 코멘트 종류에 따라 아래로 이동.
주목 - dealloc 메소드에서 [super dealloc]을 _last_ 행으로 지정해야합니다. 그렇지 않으면 메모리가 이미 다른 객체에서 사용되고 있기 때문에 locationManager를 해제하려고 할 때 충돌이 발생할 수 있습니다. (아주있을 법하지 않지만 조심해야 할 것이 있습니다) – deanWombourne
딘 감사합니다. 실수하지 말고 감사드립니다. 감사합니다. – fuzzygoat
@dean : locationManager의 메모리를 아직 놓지 않았다면 다른 객체에 어떻게 사용할 수 있습니까? (게시 된 원래 코드를 참조하십시오) – progrmr