0

我有以下代码:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *golferIconsu = [userDefaults objectForKey:@"golferIconsFirstScene"];

NSMutableDictionary *golferIconsSceneOne = [[NSMutableDictionary alloc]initWithDictionary:golferIconsu];

NSMutableDictionary *savedScoreCards;

NSMutableDictionary *currentScoreCard;
[currentScoreCard setObject:golferIconsSceneOne forKey:@"golferIconsFirstScene"];

NSMutableDictionary *GI = [currentScoreCard objectForKey:@"golferIconsFirstScene"];

[savedScoreCards setObject:currentScoreCard forKey:@"1"];

NSLog([golferIconsSceneOne objectForKey:@"30101"]);
NSLog([GI objectForKey:@"30101"]);

最后,我的日志中打印的所有内容都是第一个NSLog电话,而不是第二个电话。例如:

NSLog([golferIconsSceneOne objectForKey:@"30101"]);

这会打印出我存储在该字典中的字符串。

这个:

NSLog([GI objectForKey:@"30101"]);

根本不打印任何东西。

我怎样才能让NSDictionaryGI 具有与 完全相同的属性,但我需要使用包含golferIconsSceneOne的 来做到这一点?currentScoreCardDictionarygolferIconsSceneOne

4

2 回答 2

2

在其中设置对象之前初始化您的字典。

NSMutableDictionary *savedScoreCards = [[NSMutableDictionary alloc] init];
NSMutableDictionary *currentScoreCard = [[NSMutableDictionary alloc] init];
于 2012-05-17T11:20:38.637 回答
1

像这样初始化一个并将其设置为另一个

NSMutableDictionary *savedScoreCards = [[NSMutableDictionary alloc] init];
NSMutableDictionary *currentScoreCard = [[NSMutableDictionary dictionaryWithDictionary:savedScoreCards];
于 2012-05-17T13:30:34.573 回答