【发布时间】:2014-01-09 12:19:35
【问题描述】:
我正在查看这个关于 how to store custom objects in NSUserDefaults 的问题,并且很感兴趣 NSUserDefaults 的速度或大小限制是否会阻止我将单个保存游戏文件存储在用户默认值中?
例如:
我正在考虑存储:最多 112 个实体,每个实体可以拥有最多 17 个项目的“库存”,最多 512 个项目的一般库存。这将被序列化/解码或包装在 JSON 字符串中。
假设整个数据大小为 5 Mb - 我可以在用户默认值中存储这么多吗?将这么多信息存储/写入用户默认值时会不会有很长的延迟?
当然,我可以实现一个核心数据堆栈,但是对于单个存档游戏来说这样做似乎有点过头了。
【问题讨论】:
-
将数据存储在 plist 文件中。对于这个数据量,比 NSUserDefaults 更好。
-
把核心数据想得更像——我是否需要同时加载所有这些数据。如果没有,请考虑。如果是,请考虑直接保存到文件(JSON 或 plist)。
-
只是出于好奇,有没有什么方法可以保存整个应用程序状态,然后直接恢复它,而无需进行保存游戏?
标签: ios iphone objective-c save nsuserdefaults