将多维数组保存到存储

Saving MultiDimensional Arrays to Storage

我正在 Swift 构建一个拼图,我想将一个多维数组存储到存储器中。为此,我有很多选择,包括 NSDefaults、Core、Plists 等。我知道,如果我在 NSDefaults 中执行此操作,我实际上是在每次进行更改时将多维数组带回并保存它。这可能是磁盘密集型的。

多维数组的大小为:[30x20]。关于如何最好地存储它的任何建议。

我已经尝试查看许多指南,虽然 NSDefaults 看起来是最简单的,但我担心性能(并且我想学习如何以正确的方式做到这一点)。

非常感谢任何指导。我能够让 Core 工作,但没有这么复杂。

谢谢。

我实际上尝试了很多方法,包括核心数据、plists、sqlite,最终最终使用了 Realm。它比其他的要容易得多,而且速度非常快。如果你像我一样陷入困境,我强烈推荐它:

https://realm.io/docs/swift/latest/

由于易用性和简单的视图,目前我实际上正在删除所有支持 Realm 的 plist。

如上图所示声明属性并在属性模型中将自定义 Class 设置为 Array<Array<Any>>

在 CoreDataProperties 中声明属性 class 如:
@NSManaged public var routes: Array<Array<Any>> //

用法:

同时使用如下初始化属性:

<your_rroperty_name> = obj["routes"] as? [[String]] ?? [[]]