Swift

iPhoneアプリを開発するための言語Swiftを、基礎文法からSwiftUIでのアプリ開発まで段階的に学びます。

変数・条件分岐・繰り返し・配列・Optional・関数・構造体・enum・クロージャといった言語の基礎から、SwiftUIのレイアウト、@Stateによる状態管理、List・Form、画面遷移、データの保存、デバイスの機能まで、ブラウザの中のiPhoneシミュレーターで学べます。後半ではクラスと@Observable・プロトコル・ジェネリクス・エラー処理・Codable・Swift Testingに進み、ToDo・クイズ・家計簿の3本のアプリと、SwiftUIのダンジョン探検ゲームを自分の手で作り上げます。

  • Swift
  • SwiftUI

こんな人におすすめ

iPhoneアプリ開発に興味があり、Swiftを基礎から体系的に身につけたい方におすすめのコースです。

  • はじめてプログラミングを学ぶ方
  • iPhoneアプリを自分で作ってみたい方
  • SwiftUIによる画面づくりと状態管理を一通り押さえたい方

Swiftで学べること

変数・定数・型推論、数値計算と文字列操作、if/switchによる条件分岐、for/whileによる繰り返し、配列・辞書・Optional、関数と引数ラベル、構造体・enum・クロージャといったSwiftの基礎文法から、VStack/HStackでのレイアウト、@Stateと@Bindingによる状態管理、TextFieldの入力、ListとForm、IdentifiableとUUID、NavigationStackによる画面遷移、@Observableによる共有データ、Codableと@AppStorageによる保存、アニメーション、UIKit・CoreMotionによる触覚・クリップボード・傾きセンサーに加え、クラスと参照型、プロトコルと拡張、連結値を持つenum、エラー処理、ジェネリクス、フォームのバリデーション、Swift Testingによるテストまで、SwiftUIでiPhoneアプリを作る力を身につけます。

Swift に触れてみよう

Swift で書かれたコードが iPhone のアプリとして動く体験から始めましょう。 「▶ 再コンパイル」ボタンで画面に文字を出し、ファイルの骨格とコメントの書き方を知ります。

  • 基本構造
  • Text
  • VStack
  • コメント
学習内容をみる (5演習)

変数と定数で値を管理しよう プラス

値に名前を付ける「変数」と「定数」、型推論と型注釈、値の更新、文字列補間について学びましょう!

  • 変数
  • 定数
  • 型
  • 文字列補間
学習内容をみる (6演習)

数値と計算をしよう プラス

Int と Double を使った計算の方法を学びましょう。 四則演算や整数の割り算、型変換を使って割り勘計算ができるようになります。

  • Int
  • Double
  • 型変換
学習内容をみる (5演習)

文字列を扱おう プラス

文字列の連結・文字数・比較と、始まりを調べて切り出す方法を学びましょう。 名前を入れた文章や、商品コードからカテゴリ名を取り出す処理を作れるようになります。

  • 文字列
  • count
  • 比較
  • hasPrefix
学習内容をみる (6演習)

条件分岐で表示を変えよう プラス

if 文と switch 文で条件によって表示を変える方法を学びましょう。 Bool 型と論理演算子も身につけます。

  • 条件分岐
  • Bool型
  • switch
学習内容をみる (6演習)

繰り返し処理をしよう プラス

for 文と while 文で処理を繰り返す方法を学びましょう。 break と continue を使いこなし、1〜100の合計が一瞬で計算できます。

  • 繰り返し処理
  • for
  • while
学習内容をみる (5演習)

配列でデータをまとめよう プラス

配列で複数の値をまとめて管理する方法を学びましょう。 要素の追加・削除・繰り返し処理で、やることリストのデータが作れます。

  • 配列
  • append
  • 全要素の処理
学習内容をみる (6演習)

Optional を理解しよう プラス

「値が無いかもしれない」を安全に扱う Optional を学びましょう。 if let・??・guard let で、未設定の値を安全にほどけるようになります。

  • Optional
  • if let
  • ??
  • ?.
  • guard let
学習内容をみる (5演習)

辞書でデータを管理しよう プラス

キーと値のペアでデータを管理する辞書を学びましょう。 値が Optional になる理由と、設定項目の管理方法を身につけます。

  • 辞書
  • キーと値
学習内容をみる (5演習)

関数で処理をまとめよう プラス

処理に名前を付けて何度でも使える関数を学びましょう。 引数・引数ラベル・デフォルト引数・戻り値と、タプルで2つの値を返す方法を身につけます。

  • 関数
  • 引数
  • 戻り値
  • タプル
学習内容をみる (7演習)

構造体でデータを作ろう プラス

関連するデータをまとめる構造体を学びましょう。 既定値と自動の init・メソッド・mutating・static を使って、ToDo の1件を型として表せるようになります。

  • 構造体
  • メソッド
  • 値型
  • static
学習内容をみる (7演習)

enum で状態を表そう プラス

限られた状態を安全に表す enum を学びましょう。 switch との組み合わせ・rawValue・CaseIterable を身につけます。

  • enum
  • switch
  • rawValue
  • CaseIterable
学習内容をみる (5演習)

クロージャを使いこなそう プラス

処理そのものを値として扱うクロージャを学びましょう。 トレイリングクロージャと map・filter・sorted・compactMap を身につけます。あとで学ぶ SwiftUI の Button も、この書き方を使います。

  • クロージャ
  • map
  • filter
  • compactMap
学習内容をみる (6演習)

コレクション操作を極めよう プラス

reduce・Set・検索・モデルの並び替え・ランダム・zip と enumerated など、実務でよく使うコレクションの操作を学びましょう。

  • reduce
  • Set
  • 標準API
  • zip
学習内容をみる (7演習)

道場: カフェの注文集計 道場 プラス

ここまでに学んだ Swift の書き方を総動員して、カフェのレジの中身を作りましょう。 メニューのデータ・お会計・売上の集計・レシートを、要件を読んで自分で組み立てます。

  • 総合演習
  • struct
  • enum
  • タプル
  • 辞書
  • 道場
学習内容をみる (5演習)

レイアウトを組もう プラス

VStack・HStack・ZStack と Spacer で画面を自由に組む方法を学びましょう。 padding・frame・modifier の順序や色・Shape も身につけます。

  • レイアウト
  • modifier
  • 色
学習内容をみる (6演習)

入力と View の部品化 プラス

Form の中の TextField で入力を受け取り、リストに追加する方法を学びましょう。 View の切り出しと @Binding で、部品化も身につけます。

  • TextField
  • @Binding
  • 部品化
学習内容をみる (6演習)

実務レベルまで プロ

List で一覧を出そう プロ

Identifiable と UUID で身元を持たせたデータを、List で一覧にする方法を学びましょう。 払って削除・空のときの案内・Section での区切りも身につけます。

  • List
  • Identifiable
  • onDelete
  • Section
学習内容をみる (7演習)

画面遷移とモーダル プロ

NavigationStack と値で進む NavigationLink で画面遷移を、sheet と alert でモーダルを学びましょう。 詳細画面と追加画面のある本物のアプリが作れます。

  • 画面遷移
  • sheet
  • alert
学習内容をみる (6演習)

保存とアニメーション プロ

@AppStorage と Codable で、アプリを閉じても残るデータを作りましょう。 withAnimation でなめらかな動きを付け、システムの色で配色を整えます。

  • @AppStorage
  • Codable
  • withAnimation
  • 色
学習内容をみる (5演習)

ToDo アプリを完成させよう プロ

これまで学んだすべてを組み合わせて、ToDo アプリを完成させましょう。 一覧・完了の切り替え・詳細・追加・保存・削除までを自分のアプリに仕上げます。

  • ToDoアプリ
  • 総合演習
学習内容をみる (7演習)

道場: クイズアプリを作ろう 道場 プロ

これまでの全部を組み合わせて、3択クイズのアプリを要件だけを見て組み立てましょう。 モデル・状態・画面の切り替え・保存の総合演習です。

  • 総合演習
  • クイズアプリ
  • 道場
学習内容をみる (6演習)

クラスと @Observable プロ

struct(値型)と class(参照型)の違いを学び、共有されるデータの仕組みを理解しましょう。 最後は @Observable のストアで、画面のデータと操作を1か所にまとめます。

  • class
  • 参照型
  • 継承
  • @Observable
学習内容をみる (6演習)

プロトコルと拡張 プロ

protocol で約束を決め、extension で機能を足す方法を学びましょう。 struct ContentView: View の View の正体も分かります。

  • protocol
  • extension
  • Hashable
  • Identifiable
学習内容をみる (7演習)

ジェネリクスの世界をのぞこう プロ

[Int] の < > や some View の正体を理解し、自分でもジェネリックな関数や型を書いてみましょう。

  • ジェネリクス
  • some
  • Numeric
  • 型パラメータ
学習内容をみる (4演習)

enum にデータを持たせよう プロ

enum の case に値を添える「連結値」を学びましょう。 画面の状態を表す状態機械や、Optional の正体まで理解を深めます。

  • enum
  • 連結値
  • if case
  • Optional
  • 状態機械
学習内容をみる (5演習)

エラーを扱おう プロ

失敗するかもしれない処理を throws で表し、do・try・catch で受け止めましょう。 エラーの種類を enum で作り、失敗に応じた案内ができるようになります。

  • Error
  • throws
  • do-catch
  • try?
学習内容をみる (5演習)

フォームとバリデーション プロ

Form と Section で入力画面を組み、未入力や形式の誤りをその場で知らせる会員登録フォームを作りましょう。 throws のチェック・項目のそばのエラー・送れるときだけ押せるボタンが身につきます。

  • Form
  • Section
  • バリデーション
  • throws
  • disabled
学習内容をみる (7演習)

画面をまたいだデータ プロ

一覧・詳細・編集の画面のあいだでデータを渡し、どの画面で書き換えても同じデータがそろって変わるアプリを作りましょう。 値での遷移・行ごとの Binding・下書き・@Observable のストアを .environment で配る形が身につきます。

  • navigationDestination
  • @Binding
  • ForEach($items)
  • @Environment
  • @Bindable
学習内容をみる (7演習)

テストを書こう プロ

書いたコードが正しく動くかを、Xcode と同じ Swift Testing で確かめましょう。 @Test と #expect、準備・実行・検証の形、失敗の読み方、境界値のテストが身につきます。

  • Swift Testing
  • @Test
  • #expect
  • 境界値
学習内容をみる (5演習)

端末の機能とセンサー プロ

クリップボード・触覚・端末の情報・傾き・シェイクを、本物の UIKit と CoreMotion の API でアプリに組み込みましょう。

  • UIPasteboard
  • UIFeedbackGenerator
  • UIDevice
  • CMMotionManager
  • motionEnded
学習内容をみる (7演習)

道場: 家計簿アプリ「おさいふメモ」 道場 プロ

要件だけを手がかりに、記録・残高・内訳・絞り込み・保存・グラフを1つずつ足して、List・@Observable・Codable を使った家計簿アプリを完成させましょう。

  • struct
  • enum
  • @Observable
  • Form
  • throws
  • reduce
  • Picker
  • Codable
  • UserDefaults
  • overlay
  • onDelete
  • navigationDestination
学習内容をみる (9演習)

道場: ダンジョン探検記 道場 プロ

勇者・地図・戦い・持ち物・鍵・保存・テストを1つずつ足して、ダンジョン探検ゲームを SwiftUI の iPhone アプリとして組み立てましょう。詰まったら AI チャットに相談でき、できたら AI がコードをレビューします。

  • struct
  • enum
  • throws
  • List
  • sheet
  • fullScreenCover
  • @Observable
  • Codable
  • Swift Testing
学習内容をみる (10演習)