如何在NSUserDefault
中的几个类之间传递Swift
的状态?
在这种情况下,我想在一个TableViewController
和一个初始VC之间传递此状态,在@IBAction func changeTouchIDState(sender: AnyObject) {
if TouchIDSwitch.on {
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "State")
} else {
NSUserDefaults.standardUserDefaults().setBool(false, forKey: "State")
}
}
处更改交换机上的状态。
这是一个可以理解的小模型......
我用它来设置开关的状态:
{{1}}
如果state = true,则初始VC应询问身份验证。
谢谢!
答案 0 :(得分:1)
您的问题需要更多解释,我不明白您为什么要传递该值,因为您已经存储在NSUserDefaults
中,您可以在应用的任何class
中访问该值。
根据我对您的问题的理解,我建议解决方案:
由于你已经在NSUserDefaults中存储了State,所以在提交初始VC检查NSUserDefaults.standardUserDefaults().boolForKey("State")
之前,如果它是真的,请不要问身份验证。
答案 1 :(得分:0)
设置bool后,您应该同步:
NSUserDefaults.standardUserDefaults().synchronize()
然后,您可以使用以下命令访问该值:
func boolForKey(_ defaultName: String) -> Bool