是否可以重用NSKeyedUnarchiver?

时间:2012-08-19 18:45:54

标签: cocoa-touch nskeyedarchiver nscoding

我正在开发iOS游戏,我正在使用NSCoding协议在我的编辑器中保存我的关卡并在游戏中加载它们。我想知道是否有可能在用于加载关卡后以某种方式重用NSKeyedUnarchiver。例如,当玩家不想重新启动关卡时。我不能简单地创建和加载关卡的新实例,因为我想保留相同的对象,只需重置它们的属性。

1 个答案:

答案 0 :(得分:1)

您可以重复使用传递给解码器的数据。但是,您无法将现有对象“重置”为初始状态。

虽然你可以自己做这件事,但我建议让整个对象树无效并从可能的缓存数据中重新加载它们。

这肯定取决于对象的数量,但是如果你有足够的对象来使这个过程明显变慢,我相信你还有很多其他更重要的优化要做。