首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NSMutableDictionary内部的NSMutableDictionary获取值

从NSMutableDictionary内部的NSMutableDictionary获取值
EN

Stack Overflow用户
提问于 2012-05-31 23:14:03
回答 3查看 95关注 0票数 0

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

代码语言:javascript
复制
int page = 1;
[dictionary2 setObject:dictionary1 forKey:[NSString stringWithFormat:@"%d",page]];
[dictionary1 removeAllObjects];

但是在检索对象时,我这样做

代码语言:javascript
复制
dictionary1 = [dictionary2 valueForKey:[NSString stringWithFormat:@"%d",page]];
NSLog(@"dictionary1 %@", dictionary1);`

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-31 23:18:02

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

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

您需要删除行[dictionary1 removeAllObjects];

然后,由于您已经完成了dictionary1,您可以删除对它的引用,或者设置为一个新的漂亮的闪亮字典,随时可以使用:

代码语言:javascript
复制
// Remove the reference
dictionary1 = nil;

// Or, create a new, empty dictionary
dictionary1 = [[NSDictionary alloc] init];
票数 4
EN

Stack Overflow用户

发布于 2012-05-31 23:16:23

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

票数 0
EN

Stack Overflow用户

发布于 2012-05-31 23:17:21

尝尝这个

代码语言:javascript
复制
   dictionary1 = [dictionary2 objectForKey:[NSString stringWithFormat:@"%d",page]];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10836362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档