无法从NSDictionary获取值是ios

时间:2012-12-20 02:59:39

标签: ios nsdictionary

我的NSDictionary输出与NSLog显示:

{
    "filename" : "mytest100.txt",
    "filedesc" : "File Description here",
    "data" : [

    ]
 }

但是当我这样做时:NSString *filename = [dict objectForKey:@"filename"];它会在这一行崩溃。

我做错了什么?这似乎微不足道。

2 个答案:

答案 0 :(得分:3)

试试这个:

NSDictionary *d = [NSDictionary dictionaryWithObject:@"foo" forKey:@"bar"];
NSLog(@"%@", d);

输出是:

{
    bar = foo;
}

请注意,密钥或值中没有记录引号?除非你的密钥和值的格式为@“\”foo \“”,否则我的猜测是你那里没有字典。

我把钱花在代表JSON的字符串上。崩溃是因为objectForKey:是字符串上无法识别的选择器。

答案 1 :(得分:2)

根据您收到的错误消息,dict变量不包含NSDictionary,而是NSString

跟踪备份代码,查找您分配dict变量的位置,并且您肯定会看到它被设置为不是字典的内容。