Я часто задавался вопросом, является ли это лучшим способом самому, но когда я не использую встроенный материал IB (например, NavigationController), у меня есть единственный метод в AppDelegate, switchToViewController:(UIViewController *)viewController
, который я передаю Ну, это довольно очевидно, я думаю. Таким образом, есть только одно место, где это делается, и я могу легко определить переходы в этом методе, как только приложение приближается к завершению.
Кроме того, не забудьте удалить предыдущие представления в ваших методах, в противном случае вам может не хватить памяти. Примерно так:
-(void) switchToViewController:(UIViewController *)c {
if(c == currentController) return;
[currentController.view removeFromSuperview];
[window addSubview:c.view];
[currentController release];
currentController = [c retain];
}