2

コンマで区切られSwift 3.1たステートメントにいくつかのオプションのバインディングを含めることができ、それが演算子のように動作することをドキュメントで見ました。ifAND

2 つのオプション プロパティがあり、どちら (または両方) が であるかどうかを確認し、nilnil 以外のプロパティをアンラップしてから、コード ブロックを実行するとします。これを使用して:

if let = property1, let = property2 {
   // Some task to do with unwrapped property 
}

両方のプロパティがアンラップされている場合 (条件)にのみ、ifステートメント ブロックを実行します。ANDしかし、私にとっては、これらのプロパティの少なくとも 1 つが非 nil であり、ifステートメント ブロック ( ORcondition ) 内のコードを実行するだけで十分です。しかし、私がこれを好きなら:

if property1 != nil || property2 != nil {
   // Some task to do with non-nil property
}

しかし、非 nil プロパティのラップされていない値はありません。ifコードのステートメントブロックでラップされていない値を利用できるようにして、オプションのチェーンを回避したいと思います。

これを達成するためのベストプラクティスで最もコンパクトな方法はどれですか?

4

2 に答える 2