Skip to content

NavigationControllerを活用して、画面遷移前のViewのプロパティ値を得る。

2012年11月13日

開発中に、3つ前の画面から変数を引き継いで引き継いで最後の画面で使う、という場面に出会った。

その変数は経由する画面では使わないので、なんか無駄だなあ、と思ってたんだけど、それならプロパティで取得できないかなーと思ったのがきっかけ。

やり方は簡単で、引き継ぐ値をプロパティに代入しておいて、

for (int i = 0; i < [[self.navigationController viewControllers] count]; ++i) {
        if ([[[self.navigationController viewControllers] objectAtIndex:i] isKindOfClass:[ViewController class]]) {
            ViewController *view = (ViewController *)[self.navigationController.viewControllers objectAtIndex:i];
            self.image = view.ArrangedImage;
        }
    }

みたいにして、NavigationController内のviewControllersを検索して対象となるコントローラーを引っ張りだして、
そのコントローラから入れといたプロパティを引き出すというもの。

こうすることで、無駄に値を引き継ぐ必要もなくなった!

広告

From → iPhone開発

コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。