2015-11-16 56 views
0

如何在Swift的几个类之间传递NSUserDefault的状态? 在这种情况下,我想通过一个TableViewController(其中您更改交换机上的状态)和一个初始VC之间传递此状态。 这里是一个小模型,以了解... enter image description here使用NSUserDefaults在ViewController和TableVC之间传递数据(Swift)

我用它来与开关设定的状态:

@IBAction func changeTouchIDState(sender: AnyObject) { 

    if TouchIDSwitch.on { 

     NSUserDefaults.standardUserDefaults().setBool(true, forKey: "State") 

    } else { 

     NSUserDefaults.standardUserDefaults().setBool(false, forKey: "State") 

    } 
} 

如果状态= true,则初始VC应该问的认证。

谢谢!

回答

1

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

按我理解您的问题,我的建议解决方案:

正如你已经在存储NSUserDefaults的国家,所以如果它的真实呈现初始VC检查NSUserDefaults.standardUserDefaults().boolForKey("State")之前,请验证否则不会。

+0

非常感谢您!我不知道NSUserDefault在所有类中都是活动的...... – dev

0

设置布尔后,您应该同步:

NSUserDefaults.standardUserDefaults().synchronize() 

然后,您可以访问该值:

func boolForKey(_ defaultName: String) -> Bool 
+0

不,不需要调用“同步”。您可以在不调用“synchronize”的情况下访问该值。 – rmaddy

相关问题