2010-04-24 1 views
0

인앱 구매를 설정하려고하는데 구매가 완료되면 앱을 초기 실행 상태로 재설정해야합니다. 각 탐색 컨트롤러 내부의 모든보기 컨트롤러를 dealloc하고 응용 프로그램이 시작될 때 표시되는 초기보기를 다시로드하는 방법이 있는지 궁금합니다.내비게이션 컨트롤러의 모든보기를 해제해야합니다.

미리 감사드립니다.

답변

1

할 수 있습니다 단지

[self.navigationController setViewControllers:nil animated:NO]; 

(테스트하지 않지만 아마 작동) 그러나 사용하는 것이 아마 더 유용

[self.navigationController popToRootViewControllerAnimated:NO]; 

그것은 당신의 네비게이션 컨트롤러를 추적하는 당신에게 달려 시작보기를 복원 할 수 있습니다.

+0

안녕하세요, 정보 주셔서 감사합니다. 모든 뷰 컨트롤러를 nil로 설정하면 메모리 누수가 발생합니다. 어떻게 든 그들에게 dealloc을 호출해야 할 것 같습니다. 감사합니다. – jmurphy

+0

그들은 NSArray로 전달됩니다. NSArray는 내용을 유지하고 본체가 해제 될 때 놓습니다. 이는 주체 컨트롤러의 책임입니다. 다른 곳을 참조 할 필요가 없다면보기 컨트롤러 자체에 어떤 보유도 있어서는 안됩니다. 추신 : 우리는 절대 dealloc을 직접 호출하지 않습니다. –