現在、あるタスクを行っている時間を測るアプリを作っています。
例えば、筋トレをやるぞとなったら、Pickerで筋トレという項目を選択し、タイマーをスタート、ストップさせると、何らかの方法で
開始した時間・筋トレをしていた時間を記録できるようにしたいです。
そして、あとから一覧で見たり、
現在は、やり方がわからず以下の変数 data の、startDate,endDateに、String型でハードコーディングしているので、並び替えやグラフ化ができません。
そこで、Date()を試してみたのですが、取り出し方がわかりませんでした。
SwiftUI
1import SwiftUI 2 3struct Data: Identifiable, Hashable { 4 5 var id = UUID() 6 var task: String 7 8 var startDate: String 9 var endDate: String 10 11 var memo: String 12 13 var date:Date = Date() 14} 15 16var data: [Data] = [ 17 Data(task: "数IIチャート", startDate: "2020/1/27 12:00:10", endDate: "2020/1/27 14:14:19", memo: "test"), 18 Data(task: "筋トレ", startDate: "2020/1/28 12:34:20", endDate: "2020/1/28 12:50:00", memo: "test2") 19] 20 21struct test: View { 22 VStack { 23 Picker("",selection: $globalData.available) { 24 ForEach(0..<globalData.tasks.count) { task in 25 Text(self.globalData.tasks[task]).bold().tag(self.globalData.tasks[task]) 26 } 27 } 28 Button(action: {/*ここで、var newData: Data とかでData型の新しいデータセットを作り開始した時刻と測った時間を、計算、並び替えなどができる形で保存したいです。*/} { Text("開始"} } 29 } 30}
拙い文ですが、どうか伝わればと思います。
よろしくお願いします。
あなたの回答
tips
プレビュー