2012-12-10 28 views
0

我有一个代表Flickr照片的NSDictionary。嵌套的objectForKey调用工作,但等价的valueForKey调用不?

照片的描述看起来是这样的:

{ 
    accuracy = 16; 
    context = 0; 
    dateupload = 1355106635; 
    description =  { 
     "_content" = "Barclays Center Arena\nAtlantic Yards\nProspect Heights\nBrooklyn, New York"; 
    }; 
    farm = 9; 
    "geo_is_contact" = 0; 
    "geo_is_family" = 0; 
    "geo_is_friend" = 0; 
    "geo_is_public" = 1; 
    id = 8260097924; 
    isfamily = 0; 
    isfriend = 0; 
    ispublic = 1; 
    latitude = "40.681786"; 
    longitude = "-73.972545"; 
    originalformat = jpg; 
    originalsecret = cd1bdd846a; 
    owner = "[email protected]"; 
    ownername = atlanticyardswebcam02; 
    "place_id" = "uUNC_q9TWr1vROR4wA"; 
    secret = 320e308baa; 
    server = 8502; 
    tags = "newyork brooklyn construction prospectheights atlanticyards forestcityratner block1129 barclayscenterarena"; 
    title = "Barclays Center Arena - 20121209_2128"; 
    woeid = 28751452; 
} 

如果我通过嵌套调用objectForKey的描述,它的工作原理。即,像这样:

NSString *photoDescription = [[photo objectForKey:@"description"] objectForKey:@"_content"]; 

这是笨重,我的理解是这样应该也行:

NSString *photoDescription_kv = [photo valueForKey:@"description._content"]; 

然而,valueForKey始终返回null。

我在做什么错?

回答

5

应改为使用valueForKeyPath。

NSString *photoDescription_kv = [photo valueForKeyPath:@"description._content"];