私のアプリには複数のテキストフィールドがあり、テキストフィールドが空の場合はすべてがクラッシュしないようにします。どのようにコードをコンパクト化できますか
私はこれを修正するコードを持っていますが、私はこのコードをショートカットに書くことができるかどうか疑問に思っていますか?
ので、私は
fixNilError()
を書くことができ、それがコードを実行します:
if textField.text != nil {
print("Success")
}
私のアプリには複数のテキストフィールドがあり、テキストフィールドが空の場合はすべてがクラッシュしないようにします。どのようにコードをコンパクト化できますか
私はこれを修正するコードを持っていますが、私はこのコードをショートカットに書くことができるかどうか疑問に思っていますか?
ので、私は
fixNilError()
を書くことができ、それがコードを実行します:
if textField.text != nil {
print("Success")
}
textField.textは任意の値を返します。これは値が何かかnilかを示します。 この値を処理するには、それを「アンラップ」する必要があり、きれいな方法の一つは、この1つになり作るために:それはあなたのコードを短くするのに役立ちます
if let fieldText = textField.text {
print(fieldText)
}
わからないが、optionalsがありますそれを安全にする巧妙な方法。
利用方法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;
}
あなたのtextFieldを配列に入れ、ループを使用します。 – Moritz
textFieldが 'nil'のときに' '" 'のようなデフォルトを念頭に置いている場合は、安全にunwrapするためにnil合体演算子' ?? 'を使って読み込みます。たとえば、 'let text1 = textField1.text ?? "" – vacawama