У меня возникают трудности с сохранением/перемещением данных между двумя контроллерами представления. В частности, у меня есть UIStepper на втором контроллере представления, который действует как параметр, изменяющий переменную, используемую на первом контроллере представления. Когда я возвращаюсь ко второму контроллеру представления, степпер возвращается к своему значению по умолчанию, которое я установил в инспекторе атрибутов раскадровки.
Я считаю, что мне нужно сделать значение по умолчанию UIStepper равным его новому значению после его сохранения, но я не знаю, как это сделать. У меня такая же проблема с сегментированным элементом управления, когда я хочу, чтобы любой оставшийся выбор сохранялся в качестве настройки в моем приложении.
'''
Контроллер первого представления:
var volume: Double = 12
var speed: Double = 10
class ViewController: UIViewController {
@IBAction func switchOver(_ sender: Any) {
guard let destinationVC = storyboard?.instantiateViewController(withIdentifier: "popUpID") as? popUpViewController else {
return
}
present(destinationVC, animated: true, completion: nil)
}
}
Второй контроллер представления:
@IBOutlet weak var volumeLabel: UILabel!
@IBAction func volumeStepper(_ sender: UIStepper) {
volume = sender.value
volumeLabel.text = String(sender.value) + " fl oz"
@IBAction func currentSpeed(_ sender: UISegmentedControl) {
switch sender.selectedSegmentIndex {
case 0:
speed = 10 // takes 10 seconds
case 1:
speed = 300 // takes 5 minutes
case 2:
speed = 1200 // takes 20 minutes
case 3:
speed = 2400 // takes 40 minutes
default:
speed = 10
}
}
@IBAction func closePopUp(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
'''