如何使用 NSUserDefaults 设置布尔值。预期声明错误
How to set a boolean using NSUserDefaults. Expected declaration error
正在创建一个布尔值以保存到 NSUserDefaults 以查看用户之前是否访问过该应用程序。如果他们在我希望屏幕转到主屏幕之前打开了应用程序。
错误:
这里出现错误:
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setBool(false, forKey: "userExists") //error here: Expected declaration
这是我其余代码的逻辑。我认为它是合理的,但如果你看到我不喜欢的东西,请插话。
if userDefaults.boolForKey("userExists") == true
{
performSegueWithIdentifier("moveMain", sender: nil)
}
else
{
userDefaults.setBool(true, forKey: "userExists")
}
提前致谢!
正如你的评论 "At the top of the file after class declaration" 建议你在声明的顶层声明你的 userDefaults .. 避免这种情况......你需要将你的代码放在一个方法中......类似于 viewDidLoad() 或任何其他方法
您的声明如下所示...
class ViewController: UIViewController{
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setBool(false, forKey: "userExists") // error...
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
只需将您的默认值放入 viewDidLoad() 中,它就适合您...
class ViewController: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setBool(false, forKey: "userExists")
}
}
试试像这样的东西:
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "abc")
您的代码没有任何问题。也许你应该清理你的项目并重试!
避免将 nsuserdefaults 声明为顶级声明。不然请分享给你class 好让我更好的告诉你原因!!
正在创建一个布尔值以保存到 NSUserDefaults 以查看用户之前是否访问过该应用程序。如果他们在我希望屏幕转到主屏幕之前打开了应用程序。
错误:
这里出现错误:
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setBool(false, forKey: "userExists") //error here: Expected declaration
这是我其余代码的逻辑。我认为它是合理的,但如果你看到我不喜欢的东西,请插话。
if userDefaults.boolForKey("userExists") == true
{
performSegueWithIdentifier("moveMain", sender: nil)
}
else
{
userDefaults.setBool(true, forKey: "userExists")
}
提前致谢!
正如你的评论 "At the top of the file after class declaration" 建议你在声明的顶层声明你的 userDefaults .. 避免这种情况......你需要将你的代码放在一个方法中......类似于 viewDidLoad() 或任何其他方法
您的声明如下所示...
class ViewController: UIViewController{
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setBool(false, forKey: "userExists") // error...
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
只需将您的默认值放入 viewDidLoad() 中,它就适合您...
class ViewController: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setBool(false, forKey: "userExists")
}
}
试试像这样的东西:
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "abc")
您的代码没有任何问题。也许你应该清理你的项目并重试!
避免将 nsuserdefaults 声明为顶级声明。不然请分享给你class 好让我更好的告诉你原因!!