2016-09-05 4 views
-3

私のアプリには複数のテキストフィールドがあり、テキストフィールドが空の場合はすべてがクラッシュしないようにします。どのようにコードをコンパクト化できますか

私はこれを修正するコードを持っていますが、私はこのコードをショートカットに書くことができるかどうか疑問に思っていますか?

ので、私は

fixNilError() 

を書くことができ、それがコードを実行します:

if textField.text != nil { 
    print("Success") 
} 
+1

あなたのtextFieldを配列に入れ、ループを使用します。 – Moritz

+1

textFieldが 'nil'のときに' '" 'のようなデフォルトを念頭に置いている場合は、安全にunwrapするためにnil合体演算子' ?? 'を使って読み込みます。たとえば、 'let text1 = textField1.text ?? "" – vacawama

答えて

1

textField.textは任意の値を返します。これは値が何かかnilかを示します。 この値を処理するには、それを「アンラップ」する必要があり、きれいな方法の一つは、この1つになり作るために:それはあなたのコードを短くするのに役立ちます

if let fieldText = textField.text { 
print(fieldText) 
} 

わからないが、optionalsがありますそれを安全にする巧妙な方法。

1

利用方法hasText()を複数textfieldが空にチェックしたり、それに応じたコードとコードの下に表示されませんし。

if !text1 .hasText(){  // in this case text1 does not contain text 
    // deliver appropriate message to user here 
    return; 
}else if !text2 .hasText(){ 
    // deliver appropriate message to user here 
    return; 
} 
関連する問題