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