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 的主体中)
我正在为我正在制作的游戏编写代码,并尝试创建一个 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 的主体中)