iOS可以使用NSUserDefaults实现“保存游戏”功能吗?

时间:2013-12-20 15:32:24

标签: ios iphone objective-c save nsuserdefaults

我正在查看关于how to store custom objects in NSUserDefaults的这个问题,如果NSUserDefaults的速度或大小限制会阻止我将单个保存游戏文件存储在用户默认值中,那么我很感兴趣

例如:

我正在考虑存储:最多112个实体,每个实体可以拥有最多17个项目的“库存”,最多512个项目的一般库存。这将被序列化/解码或包装在JSON字符串中。

假设整个数据大小为5 Mb - 我可以在用户默认值中存储这么多吗?将这么多信息存储/写入用户默认值时会有很长的延迟吗?

当然我可以实现核心数据堆栈,但对于单个存档游戏来说,这似乎有点过分。

1 个答案:

答案 0 :(得分:0)

Apple不建议在首选项中存储大量数据。举例来说,为什么要在iCloud中存储首选项以同步所有设备上的首选项。

请参阅following link

在“使用iCloud键值存储的策略”部分中,您可以找到以下内容:

每个应用仅限于键值存储区中1 MB的总空间。 (还有一个单独的每个键限制为1 MB,最多允许1024个键。)因此,您不能使用键值存储来共享大量数据。