どうも、ちょげ(@chogetarou)です。
Swiftで辞書内にキーが存在するかどうかを確認する方法を紹介します。
方法

辞書のキーの存在をチェックする方法は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メソッドを使います。
コメント