iphone - NSUserDefaults 未正确保存

标签 iphone nsuserdefaults

我对 NSUserDefaults 有疑问,并且不太明白发生了什么。

我的应用程序有 5 个级别,每个级别都与 NSUserDefaults 执行完全相同的操作(检索级别默认值,在用户玩该级别时更改值,然后设置默认值并在级别结束时同步)前 4 个级别水平。工作顺利,但最后一个级别不保存值。应用程序不会崩溃,最后一个级别也不是最后发生的事情,我什至在应用程序终止时同步默认值。 NSUserDefaults 是否有最大大小,或者是否有任何人能想到我没有的东西,我将在下面发布代码,但就像我说的前四个级别完美地工作

//header
NSUserDefaults *userData;


@property(nonatomic,retain) NSUserDefaults *userData;


//class file
//Sets the boolean variables for the class to use
userData = [NSUserDefaults standardUserDefaults];
boolOne = [userData boolForKey:@"LevelFiveBoolOne"];
boolTwo = [userData boolForKey:@"LevelFiveBoolTwo"];
boolThree = [userData boolForKey:@"LevelFiveBoolThree"];
boolFour = [userData boolForKey:@"LevelFiveBoolFour"];
boolFive = [userData boolForKey:@"LevelFiveBoolFive"];
boolSix = [userData boolForKey:@"LevelFiveBoolSix"];
boolSeven = [userData boolForKey:@"LevelFiveBoolSeven"];

//End Of Level
[userData setBool:boolOne forKey:@"LevelFiveBoolOne"];
[userData setBool:boolTwo forKey:@"LevelFiveBoolTwo"];
[userData setBool:boolThree forKey:@"LevelFiveBoolThree"];
[userData setBool:boolFour forKey:@"LevelFiveBoolFour"];
[userData setBool:boolFive forKey:@"LevelFiveBoolFive"];
[userData setBool:boolSix forKey:@"LevelFiveBoolSix"];
[userData setBool:boolSeven forKey:@"LevelFiveBoolSeven"];
[userData synchronize];

当我切换到使用这些默认值的 View 时,它们的值是正确的,但是当我终止应用程序并重新启动它时,这些值不会保存,每个其他级别都会执行完全相同的过程,这是唯一不保存的级别不起作用。

我已经关注这个问题有一段时间了,我希望有人遇到了同样的问题,并且可以给我一些关于他们如何解决这个问题的见解。

最佳答案

NSUserDefaults 可能没有机会保存,具体取决于进程终止的方式。

此答案有更多信息:Why is NSUserDefaults not saving my values?

关于iphone - NSUserDefaults 未正确保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1418894/

相关文章:

ios - 如何在 AppDelegate 中从 ViewController 调用一个函数?

ios - 体系结构 x86_64 的 undefined symbol : for libTYCommonLib. a

iphone - 有没有办法为 UITabBarItem 使用自定义选定的图像?

ios - NSUserDefaults 是这个应用程序想法的正确选择吗?

swift - 从 UserDefaults 获得的 bool 值打印为 0 或 1,即使保存为 Any

iphone - 将获取的数据保存在磁盘上

iphone - 未声明的对象,但一切都已实现

ios - 即使使用 nsthread 接口(interface)也会卡住

ios - 使用 Swift 将类中的结构保存到 NSUserDefaults

ios - 如何在 NSUserdefaults 中保存 NSMutablearray