#swift #xcode #segue
Вопрос:
Я пытаюсь создать простое приложение для медитации, в котором, когда я нажимаю кнопку со временем, она выводит меня на новый экран, где вы можете увидеть таймер. В моем коде все работает нормально, но метка времени отображается на новом экране на шаг позади. Поэтому, когда я нажимаю 1-ю кнопку, я ничего не вижу на новом экране, затем я нажимаю 2-ю кнопку и вижу время с 1-й кнопки.
1-й экран:
import UIKit
class MeditationController: UIViewController {
var minutes: String?
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func minPressed(_ sender: UIButton) {
self.performSegue(withIdentifier: "goToTimer", sender: self)
minutes = sender.currentTitle!
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "goToTimer" {
let destinationVC = segue.destination as! TimerViewController
destinationVC.timer = minutes
}
}
}
2-й экран:
import UIKit
class TimerViewController: UIViewController {
var timer: String?
@IBOutlet weak var timerLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
timerLabel.text = timer
}
}
Я новичок в программировании, и я уверен, что эту проблему действительно легко решить, но я потратил несколько часов и просто не могу понять, как это решить.
Спасибо вам 🙂
Комментарии:
1. Поставьте
minutes = sender.currentTitle!
ПЕРЕДself.performSegue(withIdentifier: "goToTimer", sender: self)
СОБОЙ .2. БОЖЕ мой! Это было так легко исправить, большое вам спасибо!!!