¿Cómo mantengo el estado de UISwitch cuando cambio ViewControllers?
Cuando me muevo de un controlador de vista a otro, el interruptor del primer controlador se reinicia y no retiene su estado. ¿Cómo puedo hacer que guarde su estado cuando vuelva a él después de ver otros controladores? ¿Y cómo hago para que guarde su estado después de cerrar la aplicación? He examinado las diversas preguntas y respuestas de stackOverflow y la documentación de apple, pero nada parece funcionar.
Aquí está mi clase para el controlador de vista que tiene el interruptor.
class Days: UIViewController {
@IBOutlet weak var switchButton: UISwitch!
var switchState = true
let switchKey = "switchState"
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func saveSwitchPressed(sender:AnyObject) {
if self.switchButton.on {
self.switchState = true
NSUserDefaults.standardUserDefaults().setBool(self.switchState, forKey: switchKey)
NSUserDefaults.standardUserDefaults().synchronize()
println(NSUserDefaults.standardUserDefaults().boolForKey(switchKey))
} else {
self.switchState = false
NSUserDefaults.standardUserDefaults().setBool(self.switchState, forKey: switchKey)
NSUserDefaults.standardUserDefaults().synchronize()
println(NSUserDefaults.standardUserDefaults().boolForKey(switchKey))
}
}
}
Soy un principiante en Swift y, en general, Xcode. Gracias de antemano por su tiempo y ayuda :)