xcode8 swift3 でタイマー機能を作成しています。現段階ではスタート・ストップ・リセットの3つの機能は実装済みです。今回、加えてラップの機能をつけたいのですが、どうもよくわからないです。
現在のコード↓
'''import UIKit
class ViewController: UIViewController {
@IBOutlet weak var lbTimeLabel: UILabel!
var startTime = TimeInterval() //時間計算
var addUpTime = 0.0
var timer:Timer = Timer() //タイマーの管理
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func StartAction(_ sender: UIButton) {
if (!timer.isValid) {
timer = Timer.scheduledTimer(
timeInterval: 1,
target: self,
selector: #selector(ViewController.StartTime),
userInfo: nil,
repeats: true)
startTime = NSDate.timeIntervalSinceReferenceDate
}
}
@IBAction func StopAction(_ sender: UIButton) {
timer.invalidate()
// 現在時刻と、startTimeの差分を、addUpTimeに積み上げる。
addUpTime += Date.timeIntervalSinceReferenceDate - startTime
// startTimeの値を現在時刻に置き換える。
startTime = Date.timeIntervalSinceReferenceDate
}
@IBAction func ResetAction(_ sender: UIButton) {
addUpTime = 0.0
lbTimeLabel.text = "00:00"
}
func StartTime() {
// 現在時刻と、startTimeの差分を、addUpTimeに積み上げる。
addUpTime += Date.timeIntervalSinceReferenceDate - startTime
// startTimeの値を現在時刻に置き換える。
startTime = Date.timeIntervalSinceReferenceDate
let minutes = UInt(addUpTime) / 60
let seconds = UInt(addUpTime) % 60
lbTimeLabel.text = String(format: "%02d:%02d", minutes, seconds)
}
}'''
あなたの回答
tips
プレビュー