使用 NSUserDefaults (Swift) 在 ViewController 和 TableVC 之间传递数据
Pass data between ViewController and TableVC with NSUserDefaults (Swift)
如何在Swift
中的几个类之间传递一个NSUserDefault
的状态?
在这种情况下,我想在一个 TableViewController
和一个 VC 之间传递此状态,您可以在其中更改开关上的状态。
这里有一个小模型可以理解...
我用它来设置开关的状态:
@IBAction func changeTouchIDState(sender: AnyObject) {
if TouchIDSwitch.on {
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "State")
} else {
NSUserDefaults.standardUserDefaults().setBool(false, forKey: "State")
}
}
如果 state = true,初始 VC 应该询问身份验证。
谢谢!
你的问题不需要更多的解释,我不明白你为什么要传递你已经存储在 NSUserDefaults
中的值,你可以在你的应用程序的任何 class
中访问它。
根据我对你的问题的理解,我建议解决方案:
因为您已经将状态存储在 NSUserDefaults 中,所以在呈现初始 VC 之前检查 NSUserDefaults.standardUserDefaults().boolForKey("State")
如果它是真的,请询问身份验证否则不要。
设置bool后,你应该同步:
NSUserDefaults.standardUserDefaults().synchronize()
然后,您可以通过以下方式访问该值:
func boolForKey(_ defaultName: String) -> Bool
如何在Swift
中的几个类之间传递一个NSUserDefault
的状态?
在这种情况下,我想在一个 TableViewController
和一个 VC 之间传递此状态,您可以在其中更改开关上的状态。
这里有一个小模型可以理解...
我用它来设置开关的状态:
@IBAction func changeTouchIDState(sender: AnyObject) {
if TouchIDSwitch.on {
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "State")
} else {
NSUserDefaults.standardUserDefaults().setBool(false, forKey: "State")
}
}
如果 state = true,初始 VC 应该询问身份验证。
谢谢!
你的问题不需要更多的解释,我不明白你为什么要传递你已经存储在 NSUserDefaults
中的值,你可以在你的应用程序的任何 class
中访问它。
根据我对你的问题的理解,我建议解决方案:
因为您已经将状态存储在 NSUserDefaults 中,所以在呈现初始 VC 之前检查 NSUserDefaults.standardUserDefaults().boolForKey("State")
如果它是真的,请询问身份验证否则不要。
设置bool后,你应该同步:
NSUserDefaults.standardUserDefaults().synchronize()
然后,您可以通过以下方式访问该值:
func boolForKey(_ defaultName: String) -> Bool