0

所以在我的应用程序中,我保存了一些整数键NSUserDefaults,比如至少 20 个。

像这样的东西,但很多:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:1 forKey:@"game1"];
[prefs setInteger:1 forKey:@"game2"];
[prefs setInteger:1 forKey:@"game3"];

所以我只是想知道, 我应该打电话给

[[NSUserDefaults standardUserDefaults] synchronize];

每次我保存?

因为有时我会遇到我保存的整数不一致的情况,并且一直在加载停止、在主页按钮中xCode或从主页按钮运行应用程序。

我在一个网站上读过几篇文章,上面写着:

在 iOS4 中,您的用户默认设置在按下主页按钮时可能不会被保存。手动调用应确保您正确保存[[NSUserDefaults standardUserDefaults] synchronize]applicationDidEnterBackground:User Defaults

这在 iOS5 中是真的吗?或者有更准确的方法,更短的方法来保存整数。谢谢您的帮助。

4

2 回答 2

1

苹果的文档是这样说的:

“由于此方法会定期自动调用,因此仅当您无法等待自动同步(例如,如果您的应用程序即将退出)或您想要更新用户默认值时才使用此方法虽然你没有做任何改变。”

因此,根据您设置的数据的紧迫性,您可能不需要调用同步。完整的文档在这里

于 2012-07-16T14:17:07.537 回答
0

不,您不需要,当您调用setInteger:forKey:prefs,它会自动保存。

于 2012-07-16T14:16:01.890 回答