在 Swift 中持久存储大量数据
Posted
技术标签:
【中文标题】在 Swift 中持久存储大量数据【英文标题】:Storing large amounts of data persistently in Swift 【发布时间】:2018-03-01 18:25:42 【问题描述】:我目前正在制作一个需要持久存储大量数据的应用程序,其中大部分数据包含在自定义类中。
我习惯于使用 UserDefault 来存储数据,但我了解到 UserDefault 不能很好地处理大量数据。我有哪些选择,是否可以使用 UserDefault 将其全部存储?
这款游戏是一款足球经理游戏,我有 30 支球队,每支球队大约有 25 名球员,每个球员都有一长串变量列表,比如比赛、进球、俱乐部等需要在每场比赛后存储
【问题讨论】:
用户默认值还不错,但您可以使用一个文件(或多个文件)或数据库。这真的取决于您的需求。 不,不要在 UserDefaults 中存储数据。 如果您提供有关数据的更多详细信息,您将获得更好的答案。 @nspavlo 为什么?使用 Swift 4,您应该使用新的 Codable 功能,而不是旧的 Objective-C NSCoding。 参见例如:***.com/q/16407594/1187415、***.com/q/32951538/1187415、***.com/q/24970074/1187415、***.com/q/35762561/1187415 【参考方案1】:请查看 Core Data,这是一个 Apple 框架,它可以帮助您做到这一点:持久存储大量数据。苹果有大量的文档。您可能想从这里开始:
Core Data Programming Guide
【讨论】:
核心数据也很复杂。有时只使用文件会更好。这取决于用例。【参考方案2】:我建议使用Realm
。它抽象了使用 SQLite 的复杂性,并且比 Core Data
更容易。
https://realm.io/docs/swift/latest/
【讨论】:
以上是关于在 Swift 中持久存储大量数据的主要内容,如果未能解决你的问题,请参考以下文章