使用NSUserDefaults(Swift)在ViewController和TableVC之间传递数据

时间:2015-11-16 13:51:38

标签: ios swift uitableview uiviewcontroller nsuserdefaults

如何在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") } } 处更改交换机上的状态。 这是一个可以理解的小模型...... enter image description here

我用它来设置开关的状态:

{{1}}

如果state = true,则初始VC应询问身份验证。

谢谢!

2 个答案:

答案 0 :(得分:1)

您的问题需要更多解释,我不明白您为什么要传递该值,因为您已经存储在NSUserDefaults中,您可以在应用的任何class中访问该值。

根据我对您的问题的理解,我建议解决方案:

由于你已经在NSUserDefaults中存储了State,所以在提交初始VC检查NSUserDefaults.standardUserDefaults().boolForKey("State")之前,如果它是真的,请不要问身份验证。

答案 1 :(得分:0)

设置bool后,您应该同步:

NSUserDefaults.standardUserDefaults().synchronize()

然后,您可以使用以下命令访问该值:

func boolForKey(_ defaultName: String) -> Bool