2012-08-05 63 views
3

我有这样的NSDictionary objectForKey将返回空值

123456 
{ 
    "aaa" 
    "aaav" 
} 

字典但是当我尝试使用objectForKeyNSArray中获取这些值,我得到nil

我正在使用的密钥是一个字符串。

代码:

NSArray *arr = [userdetails objectForKey:str] 

其中的UserDetails是一个NSDictionary和STR是NSString其中包含的关键。

+1

请在'objectForKey:'调用之前''调用'str'和'userdetails'的值,并显示记录器产生的细节。 – dasblinkenlight 2012-08-06 13:37:22

回答

8

NSDictionary不能包含nil对象。有两种可能摆脱objectForKey一个nil回:

  • 你的字典本身尚未初始化,或
  • 没有为您指定的键的对象。

请确保您已经创建NSDictionary或兼容的类的实例(比如,NSMutableDictionary)和它来查询它的关键赋给变量之前。然后确保有问题的密钥包含一个对象。

+1

@ H2CO3感谢您的提示,现在已修复。编辑答案的能力是一个伟大的功能:) – dasblinkenlight 2012-08-05 19:56:08

+0

所以这里来你的upvote :) – 2012-08-05 19:57:20

+2

嗨谢谢你的答案,但是当我使用allkey我得到了我的数组中的密钥,但是当我用它来找到对象我我正在得到零。 – xxx 2012-08-06 02:30:40