ダウンロード サンプルファイル (5.1 MB)
簡単になった文法
SwiftでもObjective-Cと同様の文法でプログラムを記述できます。SwiftではObjective-Cよりも少し簡略化された構文を利用することができます。Swiftでよく利用される構文と追加された便利な機能を以下に示します。
定数の定義
Swiftでは定数の定義も簡単になりました。連載第1回で説明した変数を定義する際に使う「var」を「let」にするだけで定数を定義できます。ソースコードを読む際には、letで定義されたものがあれば、その値はそれ以降変更されることがないと判断できます。
// 定数の定義 let lang:String = "Swift"
定数を定義する際には、必ず値も必要です。変数と違って値をもたせずに定義だけにしておく、ということはできません。
日本語や絵文字での変数の定義
世界で使用されている全ての文字を扱えるように設計された文字コードの規格にUnicodeがあります。Swiftで使われる文字は、このUnicodeに準拠するように設計されています。従って、日本語や中国語に代表されるマルチバイト文字を変数名にすることができ、プログラムの初学者にもわかりやすくコーディングを行うことができます。
var 都道府県:String = "東京都" println(都道府県) // 結果:「東京都」を出力
絵文字を扱う場合には、Mac自体の入力機能を利用します。最初に「システム環境設定」―「キーボード」―「メニューバーにキーボードビューアと文字ビューアを表示」にチェックを入れます。
チェックを入れた後に、メニューバーの入力メニュー内に「文字ビューアを表示」という項目が出現します。「文字ビューアを表示」を選択すると、次のように絵文字を選択できる入力パレットが表示されます。
ここで入力したい絵文字を選択すると、Swiftのプログラム内に絵文字を入力できます。絵文字だけでなく、キリル文字やギリシャ文字等も同様に変数名として利用できます。ただし、プログラム内の変数に英数字以外を利用するのは非常に特殊ですので、アプリの管理者や他の開発者に影響が出ないように気をつけて下さい。
配列の扱い
配列はArrayクラスで扱います。Objective-Cと違って、配列の宣言時に不変/可変の意識をする必要はありません。配列を宣言する際の書式は次のとおりです。
var 配列名:Array<型> = Array<型>() var 配列名:[型] = [型]() var 配列名[:Array<型>] = 値
型を指定してArrayクラスを初期化して配列を宣言します。「[]」を使って省略した形式で書くことも可能です。変数の宣言と同様に、値を指定して配列を宣言する際には、型を省略することもできます。具体的な利用例は次のとおりです。
// 配列を宣言
var prefs:Array<String> = Array<String>()
// 値を追加
prefs.append("北海道")
prefs.append("東京都")
prefs.append("大阪府")
// 配列の要素数を取得
println(prefs.count) // 結果:「東京都」を出力
println(prefs) // 結果:[北海道, 東京都, 大阪府]」を出力
// 1番地に値を追加
prefs.insert("福岡県", atIndex: 1)
println(prefs) // 結果:[北海道, 福岡県, 東京都, 大阪府]
// 範囲演算子を使って配列を宣言
var nums:[Int] = [Int](1...3)
/ 配列の宣言と値の代入を同時に行う
var countries:Array<String> = ["Japan", "USA", "China"]
Arrayクラスの主なプロパティ/メソッドには次のものがあります。
| プロパティ/メソッド名 | 概要 |
|---|---|
| count | 配列の要素数を参照 |
| isEmpty | 配列の要素の有無をtrue/falseで返す |
| append(値) | 配列の最後に値を追加 |
| insert(値, atIndex:インデックス) | 配列のインデックスに値を挿入 |
| removeAtIndex(インデックス) | 配列のインデックスの要素を削除 |
| removeLast() | 配列の最後の要素を削除 |
| subscript(インデックス) | 配列のインデックスの要素を削除 |
Objective-Cに比べて非常に簡単になりましたが、String型の要素を格納する配列にはString型以外の値を追加できない、という制限があります。この点に気をつけてください。
この記事は参考になりましたか?
- Objective-CユーザーのためのSwift入門連載記事一覧
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 片渕 彼富(カタフチ カノトミ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

