2

我整天都在为此苦苦挣扎,不知道我做错了什么。我有一个NSDictionary

NSDictionary*dict=[tutorialsNodes objectAtIndex:0];

当我NSLog(@"%@",dict);返回以下...

{
nodeAttributeArray =     (
            {
        attributeName = class;
        nodeContent = style1;
    }
);
nodeChildArray =     (
            {
        nodeContent = "Number of Patrons Using Facility: 151";
        nodeName = text;
    },
            {
        nodeName = br;
    },
            {
        nodeContent = "
\n      Room Occupancy: 210 ";
        nodeName = text;
    },
            {
        nodeName = br;
    },
            {
        nodeContent = "
\n      Current Wait: 0 minutes ";
        nodeName = text;
    }
);
nodeName = p;
}

但是,当我输入以下代码时...

NSArray*dictArray=[dict objectForKey:@"nodeChildArray"];
NSLog(@"%@",dictArray);

它返回null。我正在尝试从NodeChildArray密钥中提取 nodeContent,但我什至无法提取密钥。不知道为什么它一直返回 null

修订

这是我正在执行的确切行...

//some HTML parsing before this
NSArray *tutorialsNodes = [tutorialsParser   
searchWithXPathQuery:tutorialsXpathQueryString];

NSDictionary*dict=[tutorialsNodes objectAtIndex:0];

NSArray*dictArray=[dict objectForKey:@"nodeChildArray"];

NSLog(@"%@",dictArray);

它返回null两次

4

1 回答 1

1

根据您的评论:

当我打印 [dict allKeys] 时应用程序崩溃...我收到以下错误 *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[TFHppleElement allKeys]:无法识别的选择器已发送到 instanc

这就是为什么您无法根据 Key 提取值的原因。您正在从字典中获取 THppleElement。您需要再次将此 TFHppleElement 解析为 NSDictionary以获取所需的 valueForKey。

于 2013-03-01T03:11:35.070 回答