display.text = newValue != nil ? "\(newValue!)" : " "
Intepret私を助けてくださいコードの構文の意味は、display.text = newValueにしてみましょうありません。この解釈は推測、 このコードSWIFT
を理解されるであろう提供できるすべてのヘルプdisplay.text = newValue != nil ? "\(newValue!)" : " "
Intepret私を助けてくださいコードの構文の意味は、display.text = newValueにしてみましょうありません。この解釈は推測、 このコードSWIFT
を理解されるであろう提供できるすべてのヘルプその三項演算子ありがとうございますです。それはある状態のための使用です。 conditionがtrueの場合は、?
の後の部分を実行し、そうでない場合は:
の後の部分を実行します。あなたのケースでは、条件がnewValueがnil
に等しくない場合はそれをアンラップし、そうでない場合は空の文字列を返します。ドキュメントから
三項条件演算子
三条件演算子は、フォーム
question ? answer1 : answer2
をとる3つの 部品と特殊演算子です。 質問が真であるか偽であるかに基づいて2つの式の1つを評価するためのショートカットは です。 questionがtrueの場合、answer1
と評価され、その値が返されます。それ以外の場合は、answer2
を評価し、その の値を返します。三項条件演算子は、以下のコードの省略形です:
if question { answer1 } else { answer2 }
それはnewValueがnilでない場合、display.textは(newValueに!)になります
if newValue == nil {
display.text = " "
} else {
display.text = "(newValue!)"
}
ことを意味します。
あなたはnewValueにの値を表示したい場合
、あなたは三項演算子について
if newValue == nil {
display.text = " "
} else {
display.text = "\(newValue!)"
}
答えが正しいことを書く必要があります。
これを書くための別の方法は、「ゼロ・合体演算子」??
で次のようになります。
display.text = newValue ?? ""
前の値ならば意味はどの?? nilではない、そのラップされていない値を使用します。