2016-04-10 8 views
0

私は任意の整数を持っています。もしそれがnilでないならば新しい変数に代入したいのですが、もし0なら代入したいと思います。私はまた、1行でやりたいと思っています。正当な理由があるではない次を行うには?私はより多くの「適切な」方法のように感じるSwiftの1行でnilをテストする

let output = input != nil ? input! : 0

let output = { 
    if let _ = input { 
     return input! 
    } else { 
     return 0 
    } 
}() 

ようなものになるだろうが、それはちょうどそんなにより冗長です。

答えて

5

実際Swiftyの方法は次のとおりです。

let output = input ?? 0 

まさにこのような状況のために意図??オペレータは、意味:「できれば安全に、このオプションのラップを解除、あなたは、この代替値を使用できない場合」。

+0

私の質問はすでに他のリンクで既に回答されていましたが、ありがとうございます。それはとても素敵な小さな表現です。 –

関連する問題