我正在开发iOS游戏,我正在使用NSCoding
协议在我的编辑器中保存我的关卡并在游戏中加载它们。我想知道是否有可能在用于加载关卡后以某种方式重用NSKeyedUnarchiver
。例如,当玩家不想重新启动关卡时。我不能简单地创建和加载关卡的新实例,因为我想保留相同的对象,只需重置它们的属性。
答案 0 :(得分:1)
您可以重复使用传递给解码器的数据。但是,您无法将现有对象“重置”为初始状态。
虽然你可以自己做这件事,但我建议让整个对象树无效并从可能的缓存数据中重新加载它们。
这肯定取决于对象的数量,但是如果你有足够的对象来使这个过程明显变慢,我相信你还有很多其他更重要的优化要做。