Вы можете сделать это простым кодом. Но вы не можете освободить контроллеры представления, так как это требуется для обработки действий пользователя, таких как события нажатия кнопок и т. Д. Добавление вида в окно сохранит только экземпляр вида. Если вы освободите свой экземпляр контроллера представления, вы можете получить ошибку неверного доступа или нераспознанную ошибку селектора.
Так пусть ваш основной код будет
if(vc1==nil)
vc1 = new viewC1();
window.addSubView(vc1.view);
window.MakeKeyAndVisible ();
И ваш код коммутатора будет
if(vc2==nil)
vc2 = new viewC2();
if(vc1.view.superview!=nil){
vc1.view.removefromSuperView();
window.addsubview(vc2.view);
} else {
vc2.view.removeFromSuperView();
window.addsubview(vc1.view);
}
Теперь в методе dealloc добавьте
vc1.release();
vc2.release();
Вот так ... Надеюсь, это поможет ...
Я просто следовал вашему синтаксису