0

我创建了两个NSMutableDictionary:dictionary1 和 dictionary2。在第一个字典中,我存储了一些具有键的数组对象。在第二个字典中,我用这样的键存储第一个字典的对象:

int page = 1;
[dictionary2 setObject:dictionary1 forKey:[NSString stringWithFormat:@"%d",page]];
[dictionary1 removeAllObjects];

但是在检索对象时,我确实喜欢这样

dictionary1 = [dictionary2 valueForKey:[NSString stringWithFormat:@"%d",page]];
NSLog(@"dictionary1 %@", dictionary1);`

然后它给出空值。我不知道我犯了什么错误。

4

3 回答 3

4

添加dictionary1到后dictionary2,您将删除所有对象。

这与 dictionary2 中的字典相同(它不会创建副本),因此您也将从中删除对象。

您需要删除该行[dictionary1 removeAllObjects];

然后,既然你已经完成了dictionary1这一点,你可以删除对它的引用或设置一个很好的新闪亮字典,它可以使用:

// Remove the reference
dictionary1 = nil;

// Or, create a new, empty dictionary
dictionary1 = [[NSDictionary alloc] init];
于 2012-05-31T15:18:01.563 回答
0

您是否正确分配/初始化dictionary1dictionary2?确保字典本身不是nil.

于 2012-05-31T15:16:22.767 回答
0

试试这个

   dictionary1 = [dictionary2 objectForKey:[NSString stringWithFormat:@"%d",page]];
于 2012-05-31T15:17:21.477 回答