SwiftのDictionaryの使い方

2016.02.06
SwiftでDictionaryの使い方のアイキャッチ画像

こんにちは、@Yuuです。

Swiftを使っていると良く使うDictionary。
よく使うものの忘れてしまう事が多いので、Dictionaryの使い方をまとめてみました。

スポンサーリンク

解説を行う環境

今回僕が解説を行う環境です。

  • OS:OS X Yosemite10.10.5
  • Xcode:7.2

Xcodeのバージョンが7以降なのでSwift2での解説になります。
Swift(無印)でも書き方はほぼ一緒だと思いますが、違う場合はご了承下さい。

Dictionaryとは

SwiftのDictionaryとは、PHPやJavaScriptでは「連想配列」、Javaでは「コレクション(HashMap)」と呼ばれる、keyとvalueで関連付けられた配列のようなものです。

例えば"rose"というkeyに対して、"バラ"というvalueを取得出来る、みたいな感じです。

うん、これだけだと何言ってるか全然分からんですね。
実際に書いて説明すれば分かると思うので、書いてみましょう!

また、Dictionaryについて書かれた公式サイトは以下のページ中盤になります。

英語ですが非常に分かりやすく書かれているので、英語を読めない人、Swiftを初めて触る人でも感覚で理解出来ると思います。

余談ですが、僕は公式ページがあまりに見やすくて感動してしまいました。
自分もこれぐらい綺麗に記事をまとめたい・・
(;ω;)

Dictionaryを使用する

お待たせしました!Dictionaryの使用方法を見ていきます。

1. Dictionaryの変数の初期化

Dictionary型に変数を宣言する場合、以下のように書けます。

空の変数を宣言する場合も、変数の宣言時に値を設定する場合もどちらも書き方が複数種類存在します。
ですので、ご自分に合った書き方をすればいいかなぁと思います。

ただしAppleの先ほどの公式サイトでは、以下のような変数の宣言の仕方をしているので、この書き方がApple的にはベストと考えているのかもしれません。

2. Dictionaryへのアクセスと変更

要素数の確認、値の追加・変更・削除などDictionaryを使う際に必要となる基本的な使い方です。

2-1. 要素の確認

menus["カレー"]のようにkeyからvalueを取得する場合、Optional(800)となって値を受け取ります。

そのため、以下のように新たな変数を宣言し値を取得する場合は、最後に「!」が必要になります。
let price: Int = menus["カレー"]!

2-2. 要素の追加・変更・削除

3. Dictionaryのfor文とkey・valueのみの取得

最後にkeyまたはvalueのみを取り出し新たな配列を作成する方法と、Dictionaryのfor文の使い方を見ていきます。

3-1. key・valueのみの取得

"dictionaryの変数".keysと書くとdictionaryのkeyのみを取得し、"dictionaryの変数".valuesと書くとdictionaryのvalueのみを取得出来ます。

menus.keysmenus.valuesのようにkeyやvalueのみを取り出し配列を作成する場合、格納した順番通りの配列が作成されないので注意が必要です。

3-2. for文

Dictionaryをfor文で出力した場合、格納した順番通りに表示されません。

格納した順番通りではないですが、Dictionaryをkeyでソートして処理を行いたい場合は、以前に僕が書いた記事を参考にしてみてください。

あとがき

Dictionaryは便利なので良く使いますが、いざという時に細かい書き方・使い方を忘れてしまうことが多かったのでまとめてみました。

少しでも皆さんの参考になれば幸いです。

ではでは
今回はこの辺で!ヽ(•̀ω•́ )ゝ✧

SwiftでDictionaryの使い方のアイキャッチ画像

この記事が気に入ったらいいね!
して最新情報をチェックしよう!

スポンサーリンク