NSUserDefaultsに問題があり、何が起こっているのかよくわかりません。
私のアプリには5つのレベルがあり、各レベルはNSUserDefaultsとまったく同じことを行います(レベルのデフォルトを取得し、ユーザーがレベルを再生するときに値を変更してから、デフォルトを設定し、レベルの最後で同期します)最初の4つのレベル。問題なく動作しますが、最後のレベルでは値が保存されません。アプリはクラッシュせず、最後のレベルが最後に発生するわけではありません。また、アプリケーションの終了時にデフォルトが同期されています。NSUserDefaultsに最大サイズがありますか、それとも私が考えていないことはありますか?以下のコードを投稿しますが、最初の4つのレベルは完全に機能します
//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];
これらのデフォルトを使用するビューに切り替えると、それらの値は正しいのですが、アプリケーションを終了して再起動すると、これらの値は保存されません。他のすべてのレベルはまったく同じプロセスを実行します。これは、機能しない唯一のレベルです。 。
私はかなり長い間これを見つめてきました、そして私はそこにいる誰かが同じ問題に遭遇し、彼らがそれをどのように解決したかについての洞察を私に与えることができることを望んでいます。