다음과 같은 문제가 있습니다. 앱에 두 개의 기본 컨트롤러 (a) loginController 및 (b) contentController가 있습니다. 사용자가 로그인했는지 확인합니다. if 예, 그렇지 않으면 login controller를 보여줍니다. 그래서 didFinishLaunchingWithOptions에서이 컨트롤러 중 하나를 window.rootViewController에 지정합니다. 나는 다음과 같은 코드를 사용이 달성 (사용자가 로그인 또는 로그 아웃했기 때문에) 나는 하나의 컨트롤러에서 다른 전환 할 때 문제는이 전환되기 전에ios : window.rootViewController 및 메모리 관리를 변경하십시오.
[UIView transitionWithView:self.window
duration:0.65
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
self.window.rootViewController = self.contentController;
}
completion:^(BOOL finished){
[self.loginController release];
}];
을 인 LoginController, window.rootViewController 된 나는이 오류가없이 내 컨트롤러를 해제 할 수 있습니다 방법을 이해하고 싶은
-[loginController _preferredInterfaceOrientationGivenCurrentOrientation:]: message sent to deallocated instance 0x1c55b490
: 여기 문제는이 코드가 실행될 때 나는 다음과 같은 오류가 나타날 수 있다는 것입니다. 런타임에서 window.rootViewController를 변경하는 가장 좋은 방법이 무엇인지 제안 할 수 있다면 좋을 것입니다.
[이 답변] (http://stackoverflow.com/a/5279474/120497)에서 설명한대로 viewWillDisappear : 및 viewDidDissappear :가 호출되지 않았을 수 있었습니까? – djskinner