我目前正在开发一款用SWIFT开发的iOS应用程序,我需要在设备上存储一些用户创建的内容,但我似乎找不到在设备上存储/接收用户内容的简单快捷的方法.
Could someone explain how to store and access local storage?个
其 idea 是在用户执行操作时存储数据,并在应用程序启动时接收数据.
我目前正在开发一款用SWIFT开发的iOS应用程序,我需要在设备上存储一些用户创建的内容,但我似乎找不到在设备上存储/接收用户内容的简单快捷的方法.
Could someone explain how to store and access local storage?个
其 idea 是在用户执行操作时存储数据,并在应用程序启动时接收数据.
存储几个字符串或常见类型的最简单解决方案是UserDefaults.
UserDefaults类为访问浮点、双精度、整数、布尔值和URL等常见类型提供了方便的方法.
UserDefaults
允许我们根据自己 Select 的键存储对象,最好将这些键存储在可访问的地方,这样我们就可以重用它们.
Keys个
struct DefaultsKeys {
static let keyOne = "firstStringKey"
static let keyTwo = "secondStringKey"
}
Setting个
let defaults = UserDefaults.standard
defaults.set("Some String Value", forKey: DefaultsKeys.keyOne)
defaults.set("Another String Value", forKey: DefaultsKeys.keyTwo)
Getting个个
let defaults = UserDefaults.standard
if let stringOne = defaults.string(forKey: DefaultsKeys.keyOne) {
print(stringOne) // Some String Value
}
if let stringTwo = defaults.string(forKey: DefaultsKeys.keyTwo) {
print(stringTwo) // Another String Value
}
在SWIFT 2.0中,UserDefaults
称为NSUserDefaults
,setter和getter的命名略有不同:
Setting个
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("Some String Value", forKey: DefaultsKeys.keyOne)
defaults.setObject("Another String Value", forKey: DefaultsKeys.keyTwo)
Getting个个
let defaults = NSUserDefaults.standardUserDefaults()
if let stringOne = defaults.stringForKey(DefaultsKeys.keyOne) {
print(stringOne) // Some String Value
}
if let stringTwo = defaults.stringForKey(DefaultsKeys.keyTwo) {
print(stringTwo) // Another String Value
}
对于任何比次要配置更严重的情况,您应该考虑使用更健壮的持久存储: