0

以下にNSDictionary*fooがあるとします。

complete = 1;
    list =     {
        8213812 =         {
            excerpt = "Lorem ipsum dolor...."
        }
        8810100 =         {
            another = "iasjdiasd..."
        ...

「complete」にアクセスするために[responseobjectForKey:@ "complete"]を使用することは知っていますが、他のものはどうですか?

4

2 に答える 2

4

必要なものが得られるまで、ネストされた辞書からキーにアクセスし続けるだけです。「リスト」にアクセスするために、それは当然のことながらです。

[[response objectForKey:@"complete"] objectForKey:@"list"]

そして、リスト内の8213812スタイルのキーにアクセスするために—まあ、それはそれらのタイプに依存します。それらが文字列であると仮定すると、

[[[response objectForKey:@"complete"] objectForKey:@"list"] objectForKey:@"8213812"]

または、より新しく、より簡潔な構文を使用するには

response[@"complete"][@"list"][@"8213812"]

しかし、それらはNSNumbersか何か他のものである可能性があり、場合によっては適切なNSNumberを使用します。

于 2013-03-22T00:21:51.410 に答える
2
[[[response objectForKey:@"list"] objectForKey:@"8213812"] objectForKey:@"excerpt"]

または、代わりに:

NSDictionary *list = [response objectForKey:@"list"];
NSDictionary *inner = [list objectForKey:@"8213812"];
NSString *excerpt = [inner objectForKey:@"excerpt"];

または、代わりに:

NSString *excerpt = response[@"list"][@"8213812"][@"excerpt"];

等..

于 2013-03-22T00:22:15.047 に答える