textFieldが空の時はどうSwitchをかけばいいか教えてください
テキストフィールドが空のときに仮の値を与えたいんですがnilじゃダメなんですか?
swift
1 @objc func CC(){ 2 3 switch textF { 4 case nil: 5 ff = 0 6 counting = 0 7 labelA.text = String(counting) 8 default: 9 ff = Int(textF.text!)! 10 counting = 0 11 labelA.text = String(counting) 12 } 13
ベストアンサーがついた後のコメントになってしまいますが、UITextFieldのtextはOptionalなのでnilを考慮した実装をすべきです。現在のUIKitの実装ではnilが入ることはないようですがインタフェースとしてはOptionalですしUIKitの実装がいつ変わるかはApple次第なので、安易に!を使うのではなく MasakiHori さんのようなnilを考慮した実装の方が安全です。nilが入るようになった際にInt(textField.text!)というような処理をしたらアプリが落ちる可能性もあります。
ちなみにですがテキストフィールドでnilが入るときってどういう入力をされたときが考えられますか?
AppleのUIKitの仕様書でUITextFieldのtextはString?(Optional)であると書かれています。そして、デフォルト値が空文字であることも書かれています。
つまり現時点ではnilになることはないはずです。
ですが、デフォルト値が空文字だからだと!で処理せずにOptional型を意識した実装をすべきです。
回答3件
あなたの回答
tips
プレビュー