2016-05-24 4 views
0
display.text = newValue != nil ? "\(newValue!)" : " " 

Intepret私を助けてくださいコードの構文の意味は、display.text = newValueにしてみましょうありません。この解釈は推測、 このコードSWIFT

を理解されるであろう提供できるすべてのヘルプ

答えて

1

その三項演算子ありがとうございますです。それはある状態のための使用です。 conditionがtrueの場合は、?の後の部分を実行し、そうでない場合は:の後の部分を実行します。あなたのケースでは、条件がnewValueがnilに等しくない場合はそれをアンラップし、そうでない場合は空の文字列を返します。ドキュメントから

1

三項条件演算子

三条件演算子は、フォームquestion ? answer1 : answer2をとる3つの 部品と特殊演算子です。 質問が真であるか偽であるかに基づいて2つの式の1つを評価するためのショートカットは です。 questionがtrueの場合、answer1 と評価され、その値が返されます。それ以外の場合は、answer2を評価し、その の値を返します。

三項条件演算子は、以下のコードの省略形です:

if question { 
    answer1 
} else { 
    answer2 
} 
0

それはnewValueがnilでない場合、display.textは(newValueに!)になります

if newValue == nil { 
    display.text = " " 
} else { 
    display.text = "(newValue!)" 
} 

ことを意味します。

あなたはnewValueにの値を表示したい場合

あなたは三項演算子について

if newValue == nil { 
    display.text = " " 
} else { 
    display.text = "\(newValue!)" 
} 
0

答えが正しいことを書く必要があります。

これを書くための別の方法は、「ゼロ・合体演算子」??で次のようになります。

display.text = newValue ?? "" 

前の値ならば意味はどの?? nilではない、そのラップされていない値を使用します。

関連する問題