1

我的 NSDictionary 输出与 NSLog 显示:

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

    ]
 }

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

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

4

2 回答 2

3

试试这个:

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

输出是:

{
    bar = foo;
}

请注意,键或值中没有记录引号?除非您的键和值的格式为 @"\"foo\"",否则我的猜测是您那里并没有真正的字典。

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

于 2012-12-20T03:12:24.730 回答
2

从您收到的错误消息中,该dict变量不包含 an NSDictionary,而是 and NSString

跟踪您的代码以查找您分配dict变量的位置,您肯定会看到它被设置为不是字典的东西。

于 2012-12-20T03:12:03.237 回答