跨应用程序更新(iOS)持久存储用户数据的位置?



我正在编写一个包含本地数据库的应用程序。我想给用户的可能性书签一些项目在这个数据库中,这些书签不消失每次应用程序(从而数据库)更新。这种情况下的最佳解决方案是什么?

在应用重启时持久化数据的最简单方法是使用UserDefaults。在您的情况下,您可以在UserDefaults键中存储自定义数据类型,如下所示:

  1. Init defaults object
let defaults = UserDefaults.standard
  1. 为您的数据创建自定义数据类型(需要是可编码的)
struct Bookmark: Codable {
let name: String
let url: String
}
struct Bookmarks: Codable {
let bookmarks: [Bookmark]
}
  1. 按如下方式保存数据
// data is of type Bookmarks here
if let encodedData = try? JSONEncoder().encode(data) {
defaults.set(encodedData, forKey: "bookmarks")
}
  1. 稍后检索数据
if let savedData = defaults.object(forKey: "bookmarks") as? Data {
if let savedBookmarks = try? JSONDecoder().decode(Bookmarks.self, from: savedData) {
print("Saved user: (savedBookmarks)")
}
}

更多信息在这里和在这里

相关内容

  • 没有找到相关文章

最新更新