将多维数组保存到存储
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]] ?? [[]]
我正在 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]] ?? [[]]