2013-01-17 72 views
0

我的問題很簡單。我有一些與Key相關的數據。密鑰和數據都是NSString。所以我想到的第一件事就是使用NSDictionary。 我通常訪問這樣的值:[myDict objectForKey:@"myKey"]; 但是,有時我需要通過索引訪問值。重點,價值和指標

樣品:[myDict objectAtIndex: indexPath.row]

但當然,有在Dictionary沒有索引。

有很多解決方案來解決這個問題,但我想知道哪一個是最好的。

由於其關鍵字或索引而訪問值的最佳方法是什麼?

回答

2

創建具有數組和字典屬性的自定義類DictionArray

添加屬性NSInteger index,NSString *value等等以及一些基於索引和鍵檢索的方法。

0

爲了通過索引從字典中獲取對象,必須有一個鍵數組。然後,你拿到鑰匙:

NSString *key = [keys objectAtIndex: indexPath.row]; 

,並獲得對象:

NSString *value = [myDict objectForKey:key]; 
0

有沒有在這個沒有多大意義,因爲字典是無序的,但如果你需要這個反正:

id nthKey = [[dict allKeys] objectAtIndex:idx]; 
id nthObj = [dict objectForKey:nthKey]; 
+1

但它可以(也很可能會)給出錯誤的值 –

+0

我同意@AndreyChernukha。 –

+0

是的,這可能是一個解決方案,但@AndreyChernukha說,它可以給出錯誤的價值。我不一定需要Dictionary,它也可以是2維數組。我只想知道最適合和最優化的解決方案。 – bldcoco