swift
1import UIKit 2 3class NestViewController: UIViewController { 4 5 var count = 0 6 var timer : Timer? 7 8 var date : Date? 9 var date2 : Date? 10 11 var nowNumber = 0 12 13 var ccccc : Double = 0 14 15 @IBOutlet weak var countLabel: UILabel! 16 17 @IBOutlet weak var currentLabel: UILabel! 18 19 override func viewDidLoad() { 20 super.viewDidLoad() 21 22 23 24 25 } 26 27 override func viewWillAppear(_ animated: Bool) { 28 super.viewDidDisappear(animated) 29 30 31 32 } 33 34 35 @IBAction func startButton(_ sender: UIButton) { 36 37 38 if timer?.isValid != true { 39 40 41 if nowNumber == 20 || nowNumber == 30 { 42 if nowNumber == 20 { 43 date = Date() 44 timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerInterruptTwenty(_:)), userInfo: nil, repeats: true) 45 46 } else if nowNumber == 30 { 47 timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerInterruptThirty(_:)), userInfo: nil, repeats: true) 48 } 49 50 } 51 } 52 53 } 54 55 @IBAction func stopButton(_ sender: UIButton) { 56 57 } 58 59 @IBAction func twentyButton(_ sender: UIButton) { 60 labelUpdate(1200) 61 nowNumber = 20 62 } 63 64 @IBAction func thirtyButton(_ sender: UIButton) { 65 labelUpdate(1800) 66 nowNumber = 30 67 } 68 69 @objc func timerInterruptTwenty(_ timer : Timer) { 70 count += 1 71 date2 = Date() 72 let datenosa = date2!.timeIntervalSince(date!) 73 74 ccccc = 1200.00 - datenosa 75 76 labelUpdate(Int(ccccc)) 77 78 if datenosa >= 1200 { 79 count = 0 80 timer.invalidate() 81 } 82 } 83 84 @objc func timerInterruptThirty(_ timer : Timer) { 85 count += 1 86 date2 = Date() 87 let datenosa = date2!.timeIntervalSince(date!) 88 89 if datenosa >= 1800 { 90 count = 0 91 timer.invalidate() 92 } 93 94 } 95 96 97 98 99 100 func labelUpdate (_ aaa : Int) { 101 let s = aaa % 60 102 let m = (aaa - s) / 60 103 currentLabel.text = String(format: "%02d : %02d", m,s) 104 105 } 106 107 108} 109
iPhoneを閉じた場合とホームボタンを押してアプリを閉じた場合、再度開くと思い通りに動くのですが
遷移した場合はlabelがリセットされます。どうしたら良いですか?
あなたの回答
tips
プレビュー