如何在Swift应用程序中保存本地数据? [英] How to save local data in a Swift app?

查看:1106
本文介绍了如何在Swift应用程序中保存本地数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在研究在Swift中开发的iOS应用程序,我需要在设备上存储一些用户创建的内容,但我似乎无法找到一种简单快捷的方式来存储/接收用户内容。设备。

I'm currently working on a iOS app developed in Swift and I need to store some user-created content on the device but I can't seem to find a simple and quick way to store/receive the users content on the device.

有人可以解释如何存储和访问本地存储吗?

这个想法是在用户执行操作时存储数据并在应用程序启动时接收数据。

The idea is to store the data when the user executes an action and receive it when the app starts.

推荐答案

如果你是最简单的解决方案只存储两个字符串是 NSUserDefaults ,在Swift 3中,这个类已经被重命名为 UserDefaults

The simplest solution if you are just storing two strings is NSUserDefaults, in Swift 3 this class has been renamed to just UserDefaults.

最好将密钥存储在全球某处,以便您可以在代码中的其他位置重复使用它们。

struct defaultsKeys {
    static let keyOne = "firstStringKey"
    static let keyTwo = "secondStringKey"
}



Swift 2.0



Swift 2.0

// 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
}



Swift 3.0



Swift 3.0

// 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
}

对于任何更多的serio我们比次要配置,标志或基本字符串你应该使用某种持久存储 - 目前流行的选择是领域但您也可以使用 SQLite 或苹果非常拥有 CoreData

For anything more serious than minor config, flags or base strings you should use some sort of persistent store - A popular option at the moment is Realm but you can also use SQLite or Apples very own CoreData.

这篇关于如何在Swift应用程序中保存本地数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆