2012-08-19 44 views
0

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

+0

我只会保留未归档的数据,以便您不必再次取消归档 – 2012-08-19 19:18:32

回答

1

您可以重新使用传递给解码器的数据。不过,您不能将现有对象“重置”到初始状态。

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

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