2

나는 네비게이션 컨트롤러와 테이블 뷰를 가지고 있습니다. 누군가가 테이블보기를 클릭하면, 나는 다음을 수행하십시오UINavigationController 누수/이해 popViewController

MyViewController *myViewController = [[MyViewController alloc] initWithImage:image]; 
[image release]; 
[self.navigationController pushViewController:myViewController animated:YES]; 
[myViewController release]; 

myViewController 이미지를 유지합니다.

NavigationController에서 앞뒤로 이동하면 매번 새로운 MyViewController가 만들어지고 분명히 popViewController가 myViewController를 해제하지 않기 때문에 누수가 발생합니다.

내 질문 : 왜 popViewController가 컨트롤러를 출시하지 않습니까? 어떻게 처리해야합니까? myViewController를 내 클래스의 멤버로두고 매번 생성하지 않고 이미 존재하는지 확인하십시오. 난 보통 클래스에서 한번의 ViewController를 선언 ALLOC 초기화에서 필요할 때 밀어

답변

1

분명히 문제는이 코드는 다른 스레드에서 호출 된 다음이 스레드가 autorelease 제대로 작동하도록 다른 autorelease 풀이 있어야한다는 것입니다.

0

당신의 도움에 미리

감사합니다. 그런 다음 밀어 넣기보기 컨트롤러에서 내가보기를 조정 viewWillAppear:

관련 문제