[解決済み】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
}
関連
-
[解決済み] 型の不変値に変異型メンバを使用することはできません。
-
[解決済み] Swift - 呼出しの余分な引数
-
[解決済み] なぜ「Implicitly Unwrapped Optionals」を作るのか、それは値があることを知っていることを意味しているからです。
-
[解決済み] 辞書を作成し、キーと値のペアを動的に追加するには?
-
[解決済み】汎用辞書の大文字・小文字を区別しないアクセス方法
-
[解決済み】どちらがより効率的か。ディクショナリ TryGetValue と ContainsKey+Item のどちらが効率的ですか?
-
[解決済み】辞書にキーが含まれていない場合に例外をキャッチするのではなく、辞書にキーが含まれているかどうかを確認する方が速いのはなぜですか?
-
[解決済み】Swiftのenumのカウントを取得する方法は?
-
[解決済み】csvファイルから辞書を作成する?
-
[解決済み] 非同期ネットワークリクエストのswift forループの実行が終了するまで待つ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み] Swift 5でXOR?
-
[解決済み] swift 3 エラー。引数ラベル '(_:)' は利用可能なオーバーロードに一致しません。
-
[解決済み] Swiftで文字列が別の文字列を含んでいるかどうかを確認するには?
-
[解決済み] Swift 3、Swift 4、それ以降で dispatch_sync, dispatch_async, dispatch_after などはどうすればいいですか?
-
[解決済み] タイプ 'StorageMetadata' の値には、メンバー 'downloadURL' がありません。
-
[解決済み] なぜswiftではアンダースコアが必要なのですか?
-
[解決済み] SwiftUIのFacebookログイン。FacebookのIDをビューに戻すには?
-
[解決済み】Swiftはドキュメント生成に対応しているのか?
-
[解決済み】swiftで変数のメモリアドレスを印刷する