サンプルのストップウォッチアプリを作成していたのですが、時間の計算(加算)方法がなぜ
updateメソッドの「Date.timeIntervalSinceReferenceDate - startTime」のような計算式になるか理解できません。
swift初心者の私的には基準となる数字(0)を宣言して、startTimerメソッドで0.01秒ずつ加算していけばいいのでは??
と感じたのですが、具体的に何が起きているのでしょうか?
ご回答よろしくお願いいたします。
swift
1 @objc func update() { 2 // 2001/1/1 00:00:00 3// print(Date.timeIntervalSinceReferenceDate) 4 print(#function) 5 if let startTime = self.startTime { 6 let t: Double = Date.timeIntervalSinceReferenceDate - startTime 7 print(t) 8 } 9 } 10 11 12 @IBAction func startTimer(_ sender: Any) { 13 self.startTime = Date.timeIntervalSinceReferenceDate 14 Timer.scheduledTimer(timeInterval: 0.01, 15 target: self, 16 selector: #selector(self.update), 17 userInfo: nil, 18 repeats: true) 19 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/26 12:36