Swiftのif caseとguard caseを完全解説!初心者でもわかる条件分岐の使い方
生徒
「Swiftで特定のパターンだけを条件分岐したいときってどうすればいいんですか?」
先生
「その場合は、if caseやguard caseを使うと便利ですよ!」
生徒
「普通のif文やswitch文じゃだめなんですか?」
先生
「もちろん使えますが、if caseやguard caseを使うと、より簡潔に書けるんです。それでは基本から見ていきましょう!」
1. Swiftのif caseとは?
Swiftのif caseは、「特定のパターンにマッチするかどうか」を条件にできる構文です。switch文のように複数のケースを分けるのではなく、「このパターンだけを処理したい!」というときに便利です。
たとえば、列挙型(enum)の中である特定の値だけを判定したい場合に使えます。
2. if caseの基本的な使い方
次のようなenumがあったとします。
enum 天気 {
case 晴れ
case 曇り
case 雨
}
この天気が雨のときだけ、傘を持っていく処理をしたいとしましょう。その場合、if caseを使ってこう書けます。
let 今日の天気 = 天気.雨
if case .雨 = 今日の天気 {
print("傘を持っていきましょう!")
}
このように、if case .雨 = 今日の天気という書き方で、「今日の天気が雨だったら」という条件が書けるのです。
3. if caseと値の取り出し
列挙型に関連値(変数を持つケース)がある場合は、その中の値を取り出すこともできます。
enum メッセージ {
case テキスト(String)
case 画像(URL)
}
このメッセージがテキストのときだけ、その文字列を取り出して使うには、次のように書きます。
let 受信メッセージ = メッセージ.テキスト("こんにちは!")
if case let .テキスト(内容) = 受信メッセージ {
print("テキスト内容: \(内容)")
}
case letを使うことで、関連するデータ(この場合は内容)を簡単に取り出すことができます。
4. guard caseとは?
guard caseはif caseと似ていますが、早めに関数から抜けたいときに使います。「この条件じゃなければ早く抜ける」という処理に向いています。
たとえば、関数の最初で条件チェックをして、合わなければすぐreturnしたいときなどです。
5. guard caseの使い方
先ほどと同じメッセージの例で、関数の中で処理する場合を考えてみましょう。
func メッセージを表示する(_ メッセージ: メッセージ) {
guard case let .テキスト(内容) = メッセージ else {
print("テキストメッセージではありません")
return
}
print("受信したテキスト: \(内容)")
}
guard caseを使うと、条件に合わなかった場合にelseの中で処理をして、早めに抜けることができます。条件に合えばその後のコードが実行されます。
6. if caseとguard caseはいつ使う?
ここまでの説明をふまえて、それぞれの使い分けの目安は以下の通りです。
- if case: 条件に合ったときだけ処理をしたい場合に使う
- guard case: 条件に合わなければ処理を中断したいときに使う
特にguard caseは、関数の早期リターンに使うとコードがすっきりします。
7. 実際の例:ログインチェック
次に、より現実的な例としてログイン状態のチェックを考えてみましょう。
enum ログイン状態 {
case 未ログイン
case ログイン中(ユーザー名: String)
}
func ダッシュボードに進む(_ 状態: ログイン状態) {
guard case let .ログイン中(ユーザー名) = 状態 else {
print("ログインが必要です")
return
}
print("\(ユーザー名) さん、ようこそ!")
}
このようにguard caseを使うことで、ログインしていない場合は早めに関数を抜けることができます。初心者の方でも、読みやすく理解しやすいコードになります。
8. Swiftのif caseとguard caseでコードをシンプルに!
Swiftのif caseとguard caseは、特定の条件にマッチした場合だけ処理をしたいときにとても便利な書き方です。
特にguard caseは、条件に合わない場合に早く抜けるという設計ができるため、初心者の方でも無理なく読みやすいコードが書けます。
複雑に見えるかもしれませんが、実はswitch文の一部を簡略化したようなものです。パターンマッチングを使って、Swiftらしいシンプルで安全なコードを目指しましょう!
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アプリ開発入門