###前提・実現したいこと
スタート、ストップ、リセットのあるストップウォッチを作りたいのです
ストップのあとスタートを押した際に、続きから計測できるようにしたいです
###発生している問題・エラーメッセージ
startTimerの中のstartTimeに何を入れたらいいのか分かりません
###該当のソースコード
swift4
1weak var timer: Timer! 2 var startTime = Date() 3 var tmp = ["00","00","00"] 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 8 } 9 10 @IBAction func startTimer(sender : AnyObject) { 11 if timer != nil{ 12 // timerが起動中なら一旦破棄する 13 timer.invalidate() 14 } 15 16 timer = Timer.scheduledTimer( 17 timeInterval: 0.01, 18 target: self, 19 selector: #selector(self.timerCounter), 20 userInfo: nil, 21 repeats: true) 22 23 timerMinute.text = tmp[0] 24 timerSecond.text = tmp[1] 25 timerMSec.text = tmp[2] 26 27 } 28 29 @IBAction func stopTimer(sender : AnyObject) { 30 if timer != nil{ 31 timer.invalidate() 32 } 33 34 tmp[0] = timerMinute.text! 35 tmp[1] = timerSecond.text! 36 tmp[2] = timerMSec.text! 37 } 38 39 @IBAction func resetTimer(_ sender: Any) { 40 timerMinute.text = "00" 41 timerSecond.text = "00" 42 timerMSec.text = "00" 43 44 tmp[0] = timerMinute.text! 45 tmp[1] = timerSecond.text! 46 tmp[2] = timerMSec.text! 47 } 48 49 50 @objc func timerCounter() { 51 // タイマー開始からのインターバル時間 52 let currentTime = Date().timeIntervalSince(startTime) 53 54 // fmod() 余りを計算 55 let minute = (Int)(fmod((currentTime/60), 60)) 56 // currentTime/60 の余り 57 let second = (Int)(fmod(currentTime, 60)) 58 // floor 切り捨て、小数点以下を取り出して *100 59 let msec = (Int)((currentTime - floor(currentTime))*100) 60 61 // %02d: 2桁表示、0で埋める 62 let sMinute = String(format:"%02d", minute) 63 let sSecond = String(format:"%02d", second) 64 let sMsec = String(format:"%02d", msec) 65 66 timerMinute.text = sMinute 67 timerSecond.text = sSecond 68 timerMSec.text = sMsec 69 70 } 71 72 override func viewWillDisappear(_ animated: Bool) { 73 super.viewWillDisappear(true) 74 timer.invalidate() 75 }
###試したこと
swift タイマーでネットで調べたり、持ってる参考書を読んでみたりしました
###補足情報(言語/FW/ツール等のバージョンなど)
swiftでのタイマーの作り方に関するサイトでいいのがあれば教えて欲しいです
アラーム音の出し方がわかると嬉しいです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/22 19:00
2017/12/23 13:39
2017/12/23 14:07
2017/12/23 14:25
2017/12/23 15:26