2016-09-18 4 views
0

おそらく単純ですが、答えが私を逃します。テキストと整数の入力フィールドをオプションにするSwift

私は多くの入力フィールドを持つIBを持っています。いくつかはテキストであり、いくつかは整数です。

私はユーザーがすべてのフィールドを完了する必要がないようにするため、オプションであるようにこれらを設定する必要があります。

このデータはコアデータに保存されます。ここ

は、イベントの現在の鎖である:

@IBOutlet weak var diveSiteTextfield: UITextField! 
@IBOutlet weak var diveDurationTextfield: UITextField! 

------- 
let dd = Int(diveDurationTextfield.text!) 
let dd1 = Int32(dd!) 

diveLogbook.diveSite = diveSiteTextfield.text 
diveLogbook.diveDuration = dd1 

以上が一つのテキストと一つの整数でほんの一例です。

答えて

1

あなたはそれらのデフォルト値を提供するために、?:??を使用することができます。

diveLogbook.diveSite = diveSiteTextfield.text?.isEmpty ? "Default Dive Site" : diveSiteTextfield.text 
diveLogbook.diveDuration = Int32(diveDurationTextfield.text!) ?? 5 

変更デフォルト値、必要に応じて。

+0

大変感謝しています。 2つのフォローアップ:diveSite行はTextFieldというエラーをメンバー "isEmtpy"として受け取っていません。また、デフォルトの整数を空白として設定することは可能ですか? –

+0

ああ、.textが追加され、それを受け入れます。 –

+0

申し訳ありませんが私の誤植。そして、いいえ、「Int」に値がなければなりません。あなたは 'diveDuration'を' Int? 'に変更し、それを' nil'に設定することができます –

関連する問題