1

在我的应用程序中,对于保存在设备上的每个游戏,我将游戏对象与其他一些使用 NSKeyedArchiver 存档的元数据一起存储在 NSDictionary 中。

我试图避免每次我想要游戏数据达到峰值时都必须分配/初始化游戏对象,因为游戏对象可能会变得相当大。所以我使用元数据来获取有关它的基本信息,以便构建菜单等。

我有 2 个问题。NSDictionary 中的每个对象在未归档时是否都已分配?如果是这样,将游戏对象归档为 NSData,然后在 NSDictionary 中再次归档是否更有效?本质上是档案中的档案。

4

1 回答 1

2

是的,整个词典同时未归档。您可能想要创建一些包装器和/或将每个游戏状态保存为 2 个文件(一个用于元数据,一个用于完整状态),可能每个游戏都在其自己的文件夹中。

将归档数据放入字典,然后归档字典并不能解决您最初的问题,而且会花费更长的时间。解决方案是将数据的 2 部分分开,以便它们可以单独取消归档。

于 2013-09-16T19:14:02.710 回答