我的NSDictionary输出与NSLog显示:
{
"filename" : "mytest100.txt",
"filedesc" : "File Description here",
"data" : [
]
}
但是当我这样做时:NSString *filename = [dict objectForKey:@"filename"];
它会在这一行崩溃。
我做错了什么?这似乎微不足道。
答案 0 :(得分:3)
试试这个:
NSDictionary *d = [NSDictionary dictionaryWithObject:@"foo" forKey:@"bar"];
NSLog(@"%@", d);
输出是:
{
bar = foo;
}
请注意,密钥或值中没有记录引号?除非你的密钥和值的格式为@“\”foo \“”,否则我的猜测是你那里没有字典。
我把钱花在代表JSON的字符串上。崩溃是因为objectForKey:是字符串上无法识别的选择器。
答案 1 :(得分:2)
根据您收到的错误消息,dict
变量不包含NSDictionary
,而是NSString
。
跟踪备份代码,查找您分配dict
变量的位置,并且您肯定会看到它被设置为不是字典的内容。