2014-09-30 35 views
-1

的第一要素,我寫在參數採用SQL請求(SELECT name FROM table)的方法和用字的第一個字母爲重點如何訪問NSDictionnary

Dictionnary 
{ 
    A = ("Arbre", "Armoise"); 
    B = ("Bob", "Bill") ; 
    ... 
} 

所以我堅持與返回NSDictionnary,現在,如果我的請求看起來像SELECT name_en FROM table WHERE name_fr LIKE "Bob"
我dictionnary看起來像:

Dic { 
     B = ("Bob"); 
    } 

而我只是想顯示鮑勃。那麼我怎樣才能得到這個價值?我已經試過objectAtIndex[[dic allKeys] objectAtIndex:0];
但是我什麼也沒得到

謝謝!

+1

NSDictionary未訂購,您無法保證訂單將保持不變。如果你想「bob」,你必須做'[dic objectForKey:@「B」];' – streem 2014-09-30 08:45:03

回答

3

字典中沒有「第一個對象」這樣的東西。字典是一個無序的集合。

我不是100%肯定你問什麼,但你可以做的是採取鍵陣列...

NSArray *keys = [dictionary allKeys]; 

,然後陣列

NSArray *sortedKeys = [keys sortedArrayUsing... // choose your own method for sorting 

然後排序獲取與第一個排序關鍵字相關的對象...

id firstObject = dictionary[[sortedKeys firstObject]];