it-swarm-ja.com

オプションを使用せずに値があるかどうかを確認するための好ましい方法は何ですか?

値が何であるかを正確に気にせずに値が存在するかどうかを確認する理想的な方法は、次のうちどれですか?

if let _ = flags[.showField] { showField() }

if flags[.showField] != nil { showField() }

最初のケースでは、if let _ =を使用してそれをfutureproofsする方がSwift-yのようです(Appleは、代わりに値があるかどうかをオプションに尋ねる必要があると言う未来を想像できますnilと比較してください。さらに、コードを変更するために戻ってきて、値が必要であることがわかった場合は、_を名前に置き換えるだけです。

2番目のケースでは、より自然に読み取り、if x == nilがそうではない方法でif let _ =を反射します。

これらの1つが他よりも優先されますか?もしそうなら、どれと理由ですか?

2
Ben Leggiero

最初の方法については特にSwiftyはないと思います。

私は2番目のアプローチで行きます。

  1. 特に、if let構文が外国語である新しい言語学習者にとっては、2番目の方が理解しやすいと思います。
  2. 2番目のアプローチは否定できます。 if x != nilは1文字の変更でif x == nilになることができますが、if let _ = xの場合に似たものはありません。