###前提・実現したいこと
http://hajihaji-lemon.com/smartphone/swift/uidatepicker/を参考にして作っていたのですが、アプリが反応しなくなってしまいます。ご教授お願いします。
###発生している問題・エラーメッセージ
count = Int(testDatePicker.countDownDuration)の所に
Thread 1:EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP,subcode=0×0)
とエラー出ています。
またデバッグエリアに
fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)
と表示されています。
###該当のソースコード
Swift3
1import UIKit 2 3class ViewController: UIViewController { 4 @IBOutlet weak var testLabel: UILabel! 5 @IBOutlet weak var testDatePicker: UIDatePicker! 6 7 var timer:Timer = Timer() 8 var count:Int = 0 9 10 11 // データ変更時の呼び出しメソッド 12 @IBAction func changeDate(_ sender: UIDatePicker) { 13 // 何もしない 14 } 15 16 17 // ボタン押下時の呼び出しメソッド 18 @IBAction func startCountDown(_ sender: UIButton) { 19 20 // すでに動いているタイマーは停止する 21 timer.invalidate() 22 23 //カウントダウンする秒数を取得する。 24 count = Int(testDatePicker.countDownDuration) 25 26 //1秒周期でcountDownメソッドを呼び出すタイマーを開始する。 27 timer = Timer.scheduledTimer(timeInterval: 1, target:self, selector:#selector(ViewController.countDown), userInfo:nil, repeats:true) 28 29 } 30 31 //タイマーから呼び出されるメソッド 32 func countDown(){ 33 34 //カウントを減らす。 35 count -= 1 36 37 //カウントダウン状況をラベルに表示 38 if(count > 0) { 39 testLabel.text = "残り\(count)秒です。" 40 } else { 41 testLabel.text = "カウントダウン終了" 42 timer.invalidate() 43 } 44 45 } 46 47 } 48
###試したこと
Googleで検索していますが、解決には至っていません。ご教授お願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
Swift3. Xcode8.2.1
回答1件
あなたの回答
tips
プレビュー