所以在我的应用程序中,我在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中这是真的吗?或者有更准确的方法,更短的保存整数的方法。谢谢你的帮助。
答案 0 :(得分:1)
Apple的文档说明了这一点:
“因为此方法是定期自动调用的,所以只有在您不能等待自动同步时(例如,如果您的应用程序即将退出)或者您想要将用户默认值更新为什么,才使用此方法即使你没有做任何改动,也在磁盘上。“
因此,根据您设置的数据的紧急程度,您可能不需要调用同步。完整文档为here。
答案 1 :(得分:0)
当您在setInteger:forKey:
上致电prefs
时,它不需要,它会自动保存。