2013-03-28 44 views
1

我很不熟悉NSDictionary。我有這樣的數據結構:ios - 我如何從NSDictionary獲取值?

{"aps": 
    {"alert":null}, 
    "custom_control": 
    {"type":"topic_comment", 
    "object": 
     {"topic_id":"1","topic_section":"2","plan_id":"3","user_id":"4"} 
    } 
} 

我有可能做這樣的事情得到了「APS」值:

NSString *aps = [dictionary objectForKey:@"aps"]; 

但由於APS包含的項目組成的數組,我應該用什麼數據結構而不是NSString?如何獲得custom_control的值和「object」內的值

謝謝!

+0

@Hinata日向對不起,我弄糊塗了。我有一個NSDictionary對象進來。我可能只是沒有添加[]我的問題,因爲我有點困惑。 – Genadinik

+0

它不是'NSArray',而是'NSDictionary'。當你在'()'中看到實體時,它是'NSArray',而在{}中則是'NSDictionary'。你應該使用'NSDictionary'而不是'NSString'。 –

回答

1
NSDictionary *dict_object = [[dictionary objectForKey:@"custom_control"]objectForKey:@"object"]; 

這是你的字典的確切層次

NSDictionary(Keys:aps,custom_control)

(i).aps 

    (i.i)NSDictionary(key:alert) 

(ii).custom_control 

    (ii.i)NSDictionary(keys:type,object) 

      (ii.i.i)NSString(key:topic_comment) 

      (ii.i.ii)NSDictionary(keys:topic_id,topic_section,plan_id,user_id) 

看到這個link

+0

謝謝,但我應該先獲得「aps」內的價值嗎? – Genadinik

+0

如何獲取對象內的其他值? – Genadinik

相關問題