Swift画面遷移の基本を徹底解説!NavigationControllerとSegueの使い方
生徒
「先生、iPhoneアプリで画面を切り替える方法ってどうやるんですか?」
先生
「画面遷移ですね。SwiftではNavigationControllerやSegueを使って、簡単に画面を切り替えることができます。」
生徒
「NavigationControllerとSegueって何が違うんですか?」
先生
「それを順番に説明していきましょう。初心者でも理解できるように例え話を交えながら進めますよ。」
1. 画面遷移とは?
アプリの「画面遷移」とは、ある画面から別の画面に切り替わることを指します。例えば、LINEアプリでトーク一覧から友達とのチャット画面に移動するのも画面遷移です。Swiftでアプリを作るとき、ユーザーにとって自然な流れを作るために画面遷移はとても重要です。
初心者にとって画面遷移は難しそうに見えますが、NavigationControllerやSegueを使えば直感的に扱うことができます。
2. NavigationControllerとは?
NavigationController(ナビゲーションコントローラ)は、アプリの画面を「スタック構造」で管理する仕組みです。スタックとは「積み重ね」のことで、戻るボタンで前の画面に戻れるのはこの仕組みのおかげです。
例えば、本を読んでいるときにしおりを挟んで次のページに進むイメージです。戻りたいときはしおりを外して前のページに戻れます。NavigationControllerはこのように「進む」「戻る」を簡単に管理してくれます。
let nextVC = NextViewController()
self.navigationController?.pushViewController(nextVC, animated: true)
このコードは、ボタンを押したときに次の画面へ移動する処理です。pushViewControllerを使うと、ナビゲーションの流れの中で新しい画面を積み重ねることができます。
3. Segueとは?
Segue(セグエ)は、Storyboard(画面設計ツール)で使う画面遷移の仕組みです。ドラッグ&ドロップで簡単に設定できるため、コードを書かなくても画面をつなげることができます。
例えば、ボタンをStoryboard上で次の画面にドラッグしてつなぐと、自動的にSegueが設定されます。これを実行すると、指定した画面に移動します。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toNext" {
let nextVC = segue.destination as! NextViewController
nextVC.data = "データを渡します"
}
}
このように、Segueを使えばデータを次の画面に渡すことも可能です。
4. NavigationControllerとSegueの違い
NavigationControllerとSegueはどちらも画面遷移を実現しますが、使い方や特徴が異なります。
<table class="table table-bordered">
<thead>
<tr>
<th>特徴</th>
<th>NavigationController</th>
<th>Segue</th>
</tr>
</thead>
<tbody>
<tr>
<td>使い方</td>
<td>コードで制御</td>
<td>Storyboardで設定</td>
</tr>
<tr>
<td>戻る動作</td>
<td>自動で戻るボタンが表示される</td>
<td>戻る処理は個別に対応が必要</td>
</tr>
<tr>
<td>データの受け渡し</td>
<td>コードで簡単に渡せる</td>
<td><code>prepare</code>を使って渡す</td>
</tr>
<tr>
<td>向いている場面</td>
<td>複数画面を行き来するアプリ</td>
<td>単純な画面遷移やプロトタイプ</td>
</tr>
</tbody>
</table>
このように、複雑なアプリではNavigationControllerが便利で、簡単なアプリではSegueが直感的に使えます。
5. 初心者におすすめの使い方
初心者には、まずStoryboardのSegueを使って画面遷移を体験するのがおすすめです。コードを書かずに画面をつなげるだけで動作するため、理解しやすいです。
その後、NavigationControllerを使ったコードでの画面遷移に挑戦すると、アプリ開発の自由度が一気に広がります。
6. 例えで理解する画面遷移
画面遷移を旅行に例えてみましょう。NavigationControllerは「電車の路線図」のように順番に駅を移動でき、戻るボタンで前の駅に戻れます。一方、Segueは「目的地にワープするタクシー」のように、直接画面を飛び越えて移動します。
どちらも便利ですが、用途によって使い分けるのが大切です。
7. 学んだことを振り返る
Swiftの画面遷移にはNavigationControllerとSegueという2つの方法があります。どちらも初心者にとって重要な仕組みで、アプリ開発には欠かせません。
まずはStoryboardでSegueを試し、次にコードでNavigationControllerを扱う流れで学習すると理解が深まります。
Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略
Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略
「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。
Windowsで実現する開発環境
【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。
【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。
この60分で得られる3つの理解
OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。
iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。
将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。
※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。
Windowsで始めるiPhoneアプリ開発入門