【Objective-C】プッシュ遷移したページからrootViewControllerに戻る

調べればすぐに出てくる情報ではあるのですが、今後も使いそうなので備忘録としてまとめ。
タイトル通り、Objective-C で開発中の iOS アプリで、pushViewController を使って遷移した先のページから、rootViewController に戻る方法についてです。

今回は、こちらの記事を参考にさせていただきました。

UINavigationControllerで2つ以上前の画面に戻る方法 – Qiita
https://qiita.com/k-yamada-github/items/65b8a8cb17fd1912aca5

なお、こちらの記事で紹介されているのは Swift での書き方なので、Objective-C の場合は、そのままコピー&ペーストするだけでは使えません。
ご注意ください。

 

さて、遷移先のページから rootViewController に戻る方法ですが、下記のコードを実行するだけです。

[self.navigationController popToRootViewControllerAnimated:YES];

例えば、特定の処理が終わった後や、ボタンをタップしたタイミングで上記の記事を実行すれば、アプリの一番最初のページに戻ることができます。

他にも、下記の書き方でも大丈夫とのこと。

[self.navigationController popToViewController:self.navigationController.viewControllers[0] animated:YES];

navigationController0番目の viewController = rootViewController に戻るという意味のようですね。

ですが、個人的には、1つ目のコードの方がシンプルな書き方なのでわかりやすいのではと思います。
まあ、動作はどちらでも同じなので、この辺りはお好きな方をお好みでお使いください。

 

以上、Objective-C で、pushViewController を使って遷移した先のページから、rootViewController に戻る方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG