当前位置: 首页 > 面试题库 >

如何在Swift应用程序中保存本地数据?

谭安翔
2023-03-14
问题内容

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

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

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


问题答案:

如果仅存储两个字符串NSUserDefaults,最简单的解决方案是,在Swift 3中,该类已重命名为just UserDefaults

最好将密钥存储在全局位置,以便您可以在代码的其他位置重用它们。

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
}

雨燕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
}

对于比次要配置,标志或基本字符串更严重的事情,您应该使用某种持久存储-
目前流行的选择是Realm,但您也可以使用SQLite或Apple自己的CoreData。



 类似资料:
  • 我最近编写了一个Android应用程序。这只是一个简单的应用程序,让你保持几个简单的计数器间隔的篮球比赛得分。我得到了增加一个保存功能的需求,这样你就可以保存你的分数,然后加载他们回来。目前,当您停止应用程序时,您的数据将丢失。所以我想知道的是我必须添加什么才能让应用程序保存标签(分数),然后加载它。谢谢,伙计们,对不起,我对这些东西不太了解。

  • 我有一个json文件,我想在容器中显示它。我试过很多东西,但都不管用。目前,我在使用jsonDecode()时遇到了这个错误,我知道它会返回一个像这样的映射 我有产品类和ItemCard类: 在正文中,我列出: 我怎样才能解决这个问题?任何想法都会有帮助

  • 我如何保存(下载)图像到本地存储? 谢谢!

  • 问题内容: 我尝试使用以下代码下载pdf文件。它存储在应用程序数据中。但是我需要在iPhone的 “文件” 文件夹中显示下载的pdf 。 可能吗?? 问题答案: 这是下载任何文件并保存到“照片”(如果是图像文件)或“文件”(如果是pdf)的方法

  • 问题内容: 我有一个带有简单复选框的应用程序,当用户按下该复选框时,会在build.prop中添加一行,这是可行的,但是当我退出该应用程序时,该复选框已重置,有没有一种方法可以通过在其中添加示例代码来防止这种情况您的帖子,因为我仍然是Android应用程序的新手。 MainActivity.java activity_main.xml 问题答案: 使用getRuntime()。exec()在哪里得