我一整天都在摔跤,不知道自己做錯了什麼。我有一個NSDictionary
爲什麼objectForKey:@「」返回(null)?
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
兩次
此輸出看起來不像是從字典對象生成的。我懷疑它沒有正確序列化,實際上只是一個字符串。嘗試用'NSLog(@「%@」,[dictArray allKeys]);'來驗證它是否已正確序列化,然後詢問字典中的所有關鍵字。 – JoePasq 2013-03-01 02:17:02
驗證'dict'不是'nil'。如果不是,那麼'dict'沒有'@「nodeChildArray」'鍵。 – rmaddy 2013-03-01 02:17:08
向我們展示您正在執行的行,按照執行它們的精確順序,包括NSLog語句以及相關聲明的摘要。最有可能的是,你在第一個陳述和第二個陳述之間失去了「dict」。 – 2013-03-01 02:35:04