[Swift]辞書のキーの存在をチェックするには?

Swift

どうも、ちょげ(@chogetarou)です。

Swiftで辞書内にキーが存在するかどうかを確認する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

辞書のキーの存在をチェックする方法は2つあります。

[]

1つは、[]を使う方法です。

まず、dic[key]のように、[]内にキー名を指定します。

そして、dic[key]で取り出した値が「nil」かどうかを調べます。

dic[key] != nil //nilかどうかを調べる

dic[key]で取り出した値が「nil」でなければ、キーが存在することになります。

もし、取り出した値が「nil」であれば、keyが存在しないことになります。

使用例

var dic = [
    "One" : 1,
    "Two" : 2,
    "Three" : 3
]

var hasOne = dic["One"] != nil //trueなので、存在する
var hasFour = dic["Four"] != nil //falseなので、存在しない

contains

もう1つは、containsメソッドを使う方法です。

まず、辞書のkeysプロパティにアクセスします。

そして、keysのcontainsメソッドを呼び出し、containsの引数に存在を確認したいキー名を指定します。

dic.keys.contains(key) //keyの存在をチェック

containsメソッドの引数に指定するキーが存在すればtrue、存在しなければfalseが戻り値として返されます。

使用例

var dic = [
    "One" : 1,
    "Two" : 2,
    "Three" : 3
]

print(dic.keys.contains("One")) //trueなので、存在する
print(dic.keys.contains("Four")) //falseなので存在しない

辞書から直接、containsメソッドを使うこともできます。

dic.contains{ $0.key == key} //keyが存在するかどうk

まとめ

辞書のキーの存在をチェックするには、[]もしくはcontainsメソッドを使います。

コメント

タイトルとURLをコピーしました