前提・実現したいこと
プログラミング初学者で初めて自分の作りたいアプリを作成しています。
詰まってしまったので相談させて下さい。
実現したいことは、いくつかのボタンがあり、そのボタンを押した時点の時間を
各種ラベルに表示したいと思っています。
発生している問題・エラーメッセージ
いくつかのボタンを押した際に時間は表示されるのですが、どれも同じ時間のみを表示します。
おそらくアプリが起動された時間を記録しているため、どのボタンを押しても同じ時間が表示されているのだと思うのですが、どうしたら時間が経過し、ボタンを押した時点での時間を記録できるかがわかりません。どなたかご教授願います。
該当のソースコード
import UIKit
class ViewController: UIViewController {
//DateとDateFormatterのインスタンス作成 let date = Date() let formatter = DateFormatter() //各ラベル @IBOutlet weak var Time1: UILabel! @IBOutlet weak var Time2: UILabel! @IBOutlet weak var Time3: UILabel! @IBOutlet weak var Time4: UILabel! @IBOutlet weak var Time5: UILabel! @IBOutlet weak var Time6: UILabel! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. //取得時間のフォーマット formatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "yyyyMMdHms", options: 0, locale: Locale(identifier: "ja_JP")) }
//ボタンを押した時間をラベルに表示
@IBAction func recordContactTime1(_ sender: Any) {
Time1.text = formatter.string(from:date )
}
@IBAction func recordTime2(_ sender: Any) {
Time2.text = formatter.string(from: date)
}
@IBAction func recordTime3(_ sender: Any) { Time3.text = formatter.string(from: date) } @IBAction func recordTime4(_ sender: Any) { Time4.text = formatter.string(from: date) } @IBAction func recordTime5(_ sender: Any) { Time5.text = formatter.string(from: date) } @IBAction func recordTime6(_ sender: Any) { Time6.text = formatter.string(from: date) }
試したこと
TimerのscheduleedTimerを使ってみたりしましたが、これでは時間が進んでしまいました。
補足情報(FW/ツールのバージョンなど)
Xcode 13.0
swift 5.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/23 22:33