Swift 用户默认值

Swift UserDefaults

我正在为我正在制作的游戏编写代码,并尝试创建一个 User Default 以便它在您关闭应用程序后保存数据。

let UserDefaults = NSUserDefaults.standardUserDefaults()
UserDefaults.setBool(false, forKey: "hasStarted")

但在最后一行它加下划线 UserDefaults 并表示“预期的声明。

我做错了什么?

试试另一个名字。

试试这个:

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setBool(false, forKey: "hasStarted")

你在哪里声明和初始化变量?如果您在任何方法之外初始化变量,那么它会给您与您提到的相同的错误

如果您使用的是 Swift 2,那么您只需将代码放入 function/method:

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setBool(false, forKey: "hasStarted")

像这样,在:

func applicationWillTerminate( application: UIApplication) {

    let defaults = NSUserDefaults.standardUserDefaults()
    defaults.setBool(false, forKey: "hasStarted")
}

或此处:

func applicationWillResignActive( application: UIApplication) {
    let defaults = NSUserDefaults.standardUserDefaults()
    defaults.setBool(false, forKey: "hasStarted")
}

我在那里调用它是因为你说你希望它在应用程序关闭时保存它。

解释:

您在任何 function/method 的主体之外调用了您的函数,这在 swift 中受到限制。除了声明和初始化 variables/constants.

之外,你不能在方法之外做任何事情(只在 class 的主体中)