経過時間を計測してグラフを出力する機能を実装していくうう
手順1.2の二つの記事に分けて記述します。
手順
1.時間を計測する関数を作成し、結果を配列に加える
2.経過時間の配列からグラフを作成し表示
#1.時間を計測する関数を作成し、結果を配列に加える
####1.1 まず初めに、変数・パーツをいくつか宣言します。
変数名 | 型・クラス | 役割 |
---|---|---|
start | Bool | 経過時間を計測しているのかどうかを判断する |
times | Doubleの配列 | 経過時間を格納する配列 |
startTime | Date | 計測開始時間を格納する変数 |
button | UIButton | 時間を計測する関数を呼び出すためのボタン |
import UIKit
class ViewController: UIViewController {
//時間を計測中か判断する理論値を入れる変数
var start:Bool?
//経過時間を格納する配列
var times : [Double] = []
//計測開始時間を格納する変数
var startTime = Date()
//計測ボタン
@IBOutlet var button : UIButton!
####1.2 時間を計測する関数を作成
詳細はコードにコメントアウトとして記述。
@IBAction func button(_ sender: Any) {
if start != true{
//時間を計測していなかったら行う処理
startTime = Date()
//startをTrueにすることで時間を計測中にする
self.start = true
button.setTitle("計測中", for: .normal)
}else{
//時間を計測していたら行う処理
//ボタンを押した時点の時刻
let endTime = Date()
//DateクラスのtimeIntervalSince()メソッドを利用し差分を出す
let time = Double(endTime.timeIntervalSince(startTime))
//だした差分を配列に格納
times.append(time)
//startをTrueにすることで時間を計測していないことにする
self.start = false
button.setTitle("計測中じゃないよ", for: .normal)
}
}
}
Double(endTime.timeIntervalSince(startTime))
の部分だけ捕捉します。
今回は**Date
クラスのtimeIntervalSince()
**を用いて、計測時間を出力しています。
🌟使い方🌟
DateクラスのインスタンスA.timeIntervalSince(引数:DateクラスのインスタンスB)
のように記述することでDateクラスのインスタンスAと引数であるDateクラスのインスタンスBの差分が出力されます。
###1.3 実行結果
以下のように経過時間が配列に格納されるようになります。
手順2はこっち経過時間の配列からグラフを作成し表示