iOS のユーザー デフォルトでこのオブジェクトを再編集できないようです。これが私のコードです...
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:nil forKey:@"savedScoreCards2"];
これを行う前は、savedScoreCards キーを巨大な 3-d 辞書に設定していましたが、今はそれを上書きしようとしたり、キーを nil に設定しようとしても、少し前に設定した巨大な 3-d 辞書がまだ残っています。私はそれを上書きしたり置き換えたりすることはできないようです (nil)、または別の巨大な 3-d 辞書。何か案は?
アップデート:
+ (void)saveCurrentScoreCard
{
//save score card
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *savedScoreCards = [[NSMutableDictionary alloc] init];
[userDefaults setObject:nil forKey:@"savedScoreCards2"];//reset at beginning
NSMutableArray *golferOneScoresu = [userDefaults arrayForKey:@"golferOneScoresArray"];
NSMutableArray *golferTwoScoresu = [userDefaults arrayForKey:@"golferTwoScoresArray"];
NSMutableDictionary *golferIconsu = [userDefaults objectForKey:@"golferIconsFirstScene"];
NSMutableArray *golferThreeScoresu = [userDefaults arrayForKey:@"golferThreeScoresArray"];
NSMutableArray *golferFourScoresu = [userDefaults arrayForKey:@"golferFourScoresArray"];
NSMutableDictionary *golferIcons2u = [userDefaults objectForKey:@"golferIcons"];
NSMutableArray *golferNamesu = [userDefaults objectForKey:@"golferNames"];
NSMutableArray *golferNames = [[NSMutableArray alloc] initWithArray:golferNamesu copyItems:YES];
NSMutableDictionary *golferIconsSceneOne = [[NSMutableDictionary alloc]initWithDictionary:golferIconsu];
NSMutableDictionary *golferIcons = [[NSMutableDictionary alloc]initWithDictionary:golferIcons2u];
NSMutableArray *golferFourScores = [[NSMutableArray alloc] initWithArray:golferFourScoresu copyItems:YES];
NSMutableArray *golferThreeScores = [[NSMutableArray alloc] initWithArray:golferThreeScoresu copyItems:YES];
NSMutableArray *golferOneScores = [[NSMutableArray alloc] initWithArray:golferOneScoresu copyItems:YES];
NSMutableArray *golferTwoScores = [[NSMutableArray alloc] initWithArray:golferTwoScoresu copyItems:YES];
NSMutableDictionary *currentScoreCard = [[NSMutableDictionary alloc] init];
[currentScoreCard setObject:golferNames forKey:@"golferNames"];
[currentScoreCard setObject:golferIconsSceneOne forKey:@"golferIconsFirstScene"];
[currentScoreCard setObject:golferIcons forKey:@"golferIcons"];
[currentScoreCard setObject:golferOneScores forKey:@"golferOneScoresArray"];
[currentScoreCard setObject:golferTwoScores forKey:@"golferTwoScoresArray"];
[currentScoreCard setObject:golferThreeScores forKey:@"golferThreeScoresArray"];
[currentScoreCard setObject:golferFourScores forKey:@"golferFourScoresArray"];
[savedScoreCards setObject:currentScoreCard forKey:@"1"];
NSLog([golferIconsSceneOne objectForKey:@"30101"]);
[userDefaults setObject:savedScoreCards forKey:@"savedScoreCards2"];
[userDefaults synchronize];
NSLog(@"SAVED SCORE CARD");
}