我需要为用户在 session 之间保留一组自定义对象。该数组将填充 1-14 个相当简单和轻量级的自定义 swift 对象,如下所示:
[Obj1, Obj2, Obj3]
我想做的是在调用 viewWillDisappear
时保留此数据,以便当用户返回屏幕时,我可以再次使用这些确切的对象。做这个的最好方式是什么?我研究过使用核心数据,但我不想为这些对象设置数据模型,只是按原样存储它们,没有任何关系或任何东西。
请注意,该应用程序使用了一种计算量很大的算法,其中这些对象起着核心作用。因此,我需要让这些物体尽可能轻。因此,我不想让对象符合 NSCoding,因为它对对象的中心作用来说不是必需的
最佳答案
如果让你的类成为一个符合 NSCoding
的 Objective-C 类被证明实际上对性能有很大的影响(我持怀疑态度),那么你可以创建第二个子类 的容器NSCoding
仅用于存储。向您当前的轻量级 Swift 类/结构中添加一个初始化程序,以从该容器对象初始化实例,反之亦然。任何时候你需要序列化/反序列化,你只需使用这个容器对象作为中间体。
这会在读/写时以最低成本为您购买功能,但不会影响常规使用性能。
关于ios - 在 Swift3 中缓存自定义对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370015/