iPhoneアプリ開発でのView切り替え

いろいろなやり方はあるみたいですが、UIViewControllerを複数作って切り替える方法。

AppDelegateのプロパティとして、現在のUIViewControllerを保持する
(最初のUIViewControllerはAppDelegateのapplicationメソッドの中で設定)

    @property (strong, nonatomic) UIViewController *viewController;

次コードで新しいUIViewControllerと入れ替えて表示。(ここではvcが新しいUIViewController)

    if (self.viewController != nil) {
        [self.viewController.view removeFromSuperview];
        [self.viewController release];
    }
    self.viewController = vc;
    [self.window addSubview:self.viewController.view];

開発時は、UIViewControllerのdeallocには、deallocが呼ばれたというデバッグログを表示させておく。
なぜか・・・って?最初、deallocが呼ばれないことがあって、苦労したからですね、はい。
後からいれて悩むよりは、最初に遷移作るときからdeallocを確認しておくほうが効率がよいです。

Leave a Comment