viewDidUnload 및 dealloc 메서드를 처리하고 있으며 [super dealloc]을 호출 할 때 문제가 발생했습니다. 상위 뷰 컨트롤러에서.iPhone : parentViewController에서 dealloc을 호출하면 예외가 발생합니다.
나는 상위 뷰 컨트롤러에 외부에 퍼팅 한 사용자 지정 코드가있는 뷰 컨트롤러가 많습니다.
이//(Login View Controller code)
- (void)dealloc {
[user release];
[passwd release];
[super dealloc];
}
[슈퍼의 dealloc]은 다음을 실행하십시오 할당 해제의 방법에서 나는 AbstractViewController의의 dealloc 메소드를 호출, 그리고
@interface LoginViewController : AbstractViewController
: 내보기 컨트롤러를 정의 할 때, 나는 슈퍼 클래스에 대한 참조를 설정 코드 : 나는 아이폰 시뮬레이터에 경고 메모리를 시뮬레이션하는 경우
//(Abstract View Controller code)
- (void)dealloc {
[dbUtils release];
[loadingView release];
[super dealloc];
}
은, 다음과 같은 예외가 발생 :
2010-03-03 11:27:45.805 MyApp[71563:40b] Received simulated memory warning.
2010-03-03 11:27:45.808 MyApp[71563:40b] *** -[LoginViewController isViewLoaded]: message sent to deallocated instance 0x13b51b0
kill
quit
그러나 AbstractViewController에서 [super dealloc] 행에 주석을 달면 예외가 발생하지 않고 내 앱이 계속 실행됩니다.
다시 한 번 도움을 주셔서 감사합니다.
로드 중 무엇입니까? – willcodejavaforfood
AbstractViewController initWithNib에서 초기화되는 또 다른 viewController는 ...입니다. self.loadingView = [[UIViewController alloc] initWithNibName : @ "LoadingViewController"번들 : nil]; – arielcamus