カテゴリ: 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
Go言語
Go言語のオブジェクト指向の特徴を完全ガイド!初心者でも理解できる他言語との違い
New2
Go言語
Go言語の条件分岐の見やすい書き方を徹底解説!初心者でもわかるif文の使い方
New3
Kotlin
Kotlinのクラス設計に役立つベストプラクティスまとめ|初心者でもわかるクラス設計の考え方
New4
Kotlin
Kotlinでアーキテクチャ設計の基本!MVC・MVP・MVVMの違いを解説
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.2
Java&Spring記事人気No2
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.3
Java&Spring記事人気No3
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Kotlin
Kotlinのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.6
Java&Spring記事人気No6
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.7
Java&Spring記事人気No7
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
No.8
Java&Spring記事人気No8
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!