カテゴリ: Swift 更新日: 2025/12/23

Swift画面遷移の基本を徹底解説!NavigationControllerとSegueの使い方

Swift 画面遷移の基本|NavigationControllerとSegueの使い方
Swift 画面遷移の基本|NavigationControllerとSegueの使い方

先生と生徒の会話形式で理解しよう

生徒

「先生、iPhoneアプリで画面を切り替える方法ってどうやるんですか?」

先生

「画面遷移ですね。SwiftではNavigationControllerやSegueを使って、簡単に画面を切り替えることができます。」

生徒

「NavigationControllerとSegueって何が違うんですか?」

先生

「それを順番に説明していきましょう。初心者でも理解できるように例え話を交えながら進めますよ。」

1. 画面遷移とは?

1. 画面遷移とは?
1. 画面遷移とは?

アプリの「画面遷移」とは、ある画面から別の画面に切り替わることを指します。例えば、LINEアプリでトーク一覧から友達とのチャット画面に移動するのも画面遷移です。Swiftでアプリを作るとき、ユーザーにとって自然な流れを作るために画面遷移はとても重要です。

初心者にとって画面遷移は難しそうに見えますが、NavigationControllerやSegueを使えば直感的に扱うことができます。

2. NavigationControllerとは?

2. NavigationControllerとは?
2. NavigationControllerとは?

NavigationController(ナビゲーションコントローラ)は、アプリの画面を「スタック構造」で管理する仕組みです。スタックとは「積み重ね」のことで、戻るボタンで前の画面に戻れるのはこの仕組みのおかげです。

例えば、本を読んでいるときにしおりを挟んで次のページに進むイメージです。戻りたいときはしおりを外して前のページに戻れます。NavigationControllerはこのように「進む」「戻る」を簡単に管理してくれます。


let nextVC = NextViewController()
self.navigationController?.pushViewController(nextVC, animated: true)

このコードは、ボタンを押したときに次の画面へ移動する処理です。pushViewControllerを使うと、ナビゲーションの流れの中で新しい画面を積み重ねることができます。

3. Segueとは?

3. Segueとは?
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の違い

4. NavigationControllerと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. 初心者におすすめの使い方

5. 初心者におすすめの使い方
5. 初心者におすすめの使い方

初心者には、まずStoryboardのSegueを使って画面遷移を体験するのがおすすめです。コードを書かずに画面をつなげるだけで動作するため、理解しやすいです。

その後、NavigationControllerを使ったコードでの画面遷移に挑戦すると、アプリ開発の自由度が一気に広がります。

6. 例えで理解する画面遷移

6. 例えで理解する画面遷移
6. 例えで理解する画面遷移

画面遷移を旅行に例えてみましょう。NavigationControllerは「電車の路線図」のように順番に駅を移動でき、戻るボタンで前の駅に戻れます。一方、Segueは「目的地にワープするタクシー」のように、直接画面を飛び越えて移動します。

どちらも便利ですが、用途によって使い分けるのが大切です。

7. 学んだことを振り返る

7. 学んだことを振り返る
7. 学んだことを振り返る

Swiftの画面遷移にはNavigationControllerとSegueという2つの方法があります。どちらも初心者にとって重要な仕組みで、アプリ開発には欠かせません。

まずはStoryboardでSegueを試し、次にコードでNavigationControllerを扱う流れで学習すると理解が深まります。

カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの構文ルールまとめ!インデント・セミコロンなど初心者が最初に覚えるべきポイント
New2
Kotlin
Kotlinの関数ドキュメンテーションコメント(KDoc)の書き方を徹底解説!初心者でもわかる丁寧なガイド
New3
Kotlin
KotlinでHello Worldを表示するには?最初の1行を実行してみよう
New4
Go言語
Go言語の依存関係管理を始めよう!go modの基本設定と導入手順
人気記事
No.1
Java&Spring記事人気No1
Kotlin
KotlinのAPI通信でGETリクエストを送る方法!初心者向け徹底ガイド
No.2
Java&Spring記事人気No2
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.3
Java&Spring記事人気No3
Go言語
Go言語のテストでタイムアウト・並行処理を扱うポイント
No.4
Java&Spring記事人気No4
Swift
SwiftのURLSessionでのネットワークエラー対策!再試行とタイムアウトを初心者向けに解説
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.7
Java&Spring記事人気No7
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
Swift
Swift JSONデコード失敗の原因と対処|DecodingError徹底解説