ios - 在 Swift3 中缓存自定义对象数组

标签 ios swift caching swift3 persistence

我需要为用户在 session 之间保留一组自定义对象。该数组将填充 1-14 个相当简单和轻量级的自定义 swift 对象,如下所示:

[Obj1, Obj2, Obj3]

我想做的是在调用 viewWillDisappear 时保留此数据,以便当用户返回屏幕时,我可以再次使用这些确切的对象。做这个的最好方式是什么?我研究过使用核心数据,但我不想为这些对象设置数据模型,只是按原样存储它们,没有任何关系或任何东西。

请注意,该应用程序使用了一种计算量很大的算法,其中这些对象起着核心作用。因此,我需要让这些物体尽可能轻。因此,我不想让对象符合 NSCoding,因为它对对象的中心作用来说不是必需的

最佳答案

如果让你的类成为一个符合 NSCoding 的 Objective-C 类被证明实际上对性能有很大的影响(我持怀疑态度),那么你可以创建第二个子类 的容器NSCoding 仅用于存储。向您当前的轻量级 Swift 类/结构中添加一个初始化程序,以从该容器对象初始化实例,反之亦然。任何时候你需要序列化/反序列化,你只需使用这个容器对象作为中间体。

这会在读/写时以最低成本为您购买功能,但不会影响常规使用性能。

关于ios - 在 Swift3 中缓存自定义对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370015/

相关文章:

javascript - 当历史返回时处理js执行

ios - 更改分组 UITableView 的背景

iphone - 相机覆盖标签问题

ios - 当 func 中的归档对象编码时(使用 aCoder : NSCoder) method crashed with swift enum in real revice

ios - 使自定义 UITableView 单元格正确显示内容(非空白)

ios - 在 ios 图表中使用 setVisibleYRangeMinimum 时,Y 标签未完全显示

Objective-C 宏 - 调用单例对象的方法

swift - 返回完成处理程序后重新执行 while 循环

c# - 删除 WCFTestClient 的缓存 - 适用于 Visual Studio 2010

javascript - 服务 worker 缓存失败