1. ホーム
  2. スイフト

[解決済み】Swiftの辞書にキーが含まれているかどうかを判断し、その値を取得する。

2022-03-28 20:17:40

質問

私は現在、(空ではない)Swift辞書が与えられたキーを含むかどうかを決定し、同じ辞書から1つの(任意の)値を取得するためのコードの次の(不器用な)部分を使用しています。

どのようにすれば、Swiftでこれをよりエレガントに表現できるでしょうか?

// excerpt from method that determines if dict contains key
if let _ = dict[key] {
    return true
}
else {
    return false
}

// excerpt from method that obtains first value from dict
for (_, value) in dict {
    return value
}

解決方法は?

は必要ありません。 任意の これは辞書がすでに行っていることなので、これを行うための特別なコードです。を取得するとき dict[key] あなた 知る ディクショナリがキーを含んでいるかどうか、戻ってくるOptionalは nil (そしてそれは値を含んでいる)。

ということは、もし ただ 辞書にそのキーが含まれているかどうかを答えたい場合は、質問してください。

let keyExists = dict[key] != nil

もし、値が欲しくて 知っている 辞書にそのキーが含まれているとします。

let val = dict[key]!

しかし、通常起こるように、そのキーが含まれていることを知らない場合、つまり、キーを取得して使用したいが、それが存在する場合にのみ使用したい場合は、次のようなものを使用します。 if let :

if let val = dict[key] {
    // now val is not nil and the Optional has been unwrapped, so use it
}