Первое сообщение здесь, в Stackoverflow.
Контекст: Я пытался реализовать код Swift, который бы загружал состояние isOn коммутатора ( True ) и сохранял измененный (если измененный) даже после закрытия представления.
Другими словами: Просто загрузите значение по умолчанию для переключателя isOn True логическое значение из Struct. Если коммутатор переключается пользователем - измените логическое значение ( if в приведенном ниже коде ).
Проблема заключается в следующем: Состояние isOn коммутатора сохраняется и загружается нормально после того, как окно закрыто и снова открыто. Однако , состояние снова такое же, как указано в инициализаторе (в данном случае True ) после принудительного выхода из приложения и его повторного открытия. Я подозреваю, что что-то не так со строкой инициализатора, поскольку она снова и снова инициализирует логическое значение как True.
Вопрос: Как сохранить значение isOn переключателя в Struct после принудительного выхода приложение и снова запускается?
Код:
struct sneakers {
var windy: Bool
}
var sneakersStates = sneakers.init(windy: true)
class CustomizationViewController: UIViewController {
@IBOutlet weak var windySwitch: UISwitch!
@IBAction func windySwitched(_ sender: UISwitch) {
if windySwitch.isOn == true {
sneakersStates.windy = true
} else {
sneakersStates.windy = false
}
}
override func viewDidLoad() {
super.viewDidLoad()
windySwitch.isOn = sneakersStates.windy
}