我正在学习开展测验游戏的应用程序开发。我想在游戏中添加统计信息。例如,自应用程序下载以来的平均分数。如何在应用程序关闭后将分数存储在设备上以便重复使用?
答案 0 :(得分:0)
你应该看看UserDefault
。它基本上是一个字典,一直持续到用户卸载你的应用程序。我喜欢在它周围写一个包装器来获得强大的输入和易于参考:
struct Preferences {
static func registerDefaults() {
UserDefaults.standard.register(defaults: [kAverageScore: 0])
}
// Define your key as a constant so you don't have to repeat a string literal everywhere
private static let kAverageScore = "averageScore"
static var averageScore: Double {
get { return UserDefaults.standard.double(forKey: kAverageScore) }
set { UserDefaults.standard.set(newValue, forKey: kAverageScore) }
}
}
以下是如何使用它:在您第一次在应用中调用它之前,您必须注册默认值。这些是您的应用随附的值。在iOS上,只有用户第一次启动您的应用才真正重要。在OS X上,每次应用启动时都会执行此操作,因为用户可以从~/Library/Application Support
删除应用的首选项。
// You usually do this in viewDidLoad
Preferences.registerDefaults()
从那时起,获取和设置属性很简单:
let averageScore = Preferences.averageScore
Preferences.averageScore = 5.5
答案 1 :(得分:-2)
你应该看看UserDefaults 实施例
let defaults = UserDefaults.standard
defaults.set(25, forKey: "Age")
defaults.set(true, forKey: "UseTouchID")
defaults.set(Double.pi, forKey: "Pi")
要读取值
let age = defaults.integer(forKey: "Age")
let useTouchID = defaults.bool(forKey: "UseTouchID")
let pi = defaults.double(forKey: "Pi")