将多维数组保存到存储
Posted
技术标签:
【中文标题】将多维数组保存到存储【英文标题】:Saving MultiDimensional Arrays to Storage 【发布时间】:2016-09-14 04:28:43 【问题描述】:我正在用 Swift 构建一个谜题,我想将一个多维数组存储到存储中。我对此有很多选择,包括 NSDefaults、Core、Plists 等等。我知道,如果我在 NSDefaults 中执行此操作,我实际上是在每次进行更改时将多维数组带回并保存它。这可能是磁盘密集型的。
多维数组的大小为:[30x20]。关于如何最好地存储它的任何建议。
我尝试查看了许多指南,虽然 NSDefaults 看起来是最简单的,但我担心性能(并且我想学习如何以正确的方式做到这一点)。
非常感谢任何指导。我能够让 Core 工作,但没有这么复杂。
谢谢。
【问题讨论】:
【参考方案1】:如上图所示声明属性并在属性模型中将自定义类设置为Array<Array<Any>>
:
在 CoreDataProperties 类中声明属性,例如:@NSManaged public var routes: Array<Array<Any>> //
用法:
同时使用初始化属性,例如:
<your_rroperty_name> = obj["routes"] as? [[String]] ?? [[]]
【讨论】:
【参考方案2】:我实际上尝试了多种方式,包括核心数据、plist、sqlite,最终最终使用了 Realm。它比其他人容易得多,而且速度非常快。如果您像我一样陷入困境,我强烈推荐它:
https://realm.io/docs/swift/latest/
由于易于使用和简单的视图,我实际上正在删除我的所有 plist 以支持 Realm。
【讨论】:
以上是关于将多维数组保存到存储的主要内容,如果未能解决你的问题,请参考以下文章