2016-10-26 100 views
-2

所以,如果我有類似下面的詞典:從具有特定鍵值對的字典數組中獲取對象?

{ 
"banners": [ 
    { 
    "imageUrl": "www.google.com", 
    "destination": "home", 
    "position": 1 
    }, 
    { 
    "imageUrl": "www.reddit.com", 
    "destination": "work", 
    "position": 2 
    }, 
    { 
    "imageUrl": "www.imgur.com", 
    "destination": "play", 
    "position": 3 
    } 
] 
} 

有沒有辦法對我說,「給我的字典對象,其中不使用for循環的關鍵‘位置’= 3的值?

+0

是的,但請記住,_someone_必須查看數組中的所有字典,直到他們找到一個字符串,即使該循環不直接顯示在您的代碼中。所以「不使用for循環」這個概念有點愚蠢。一些神奇的力量不可能直接轉向正確的字典。 – matt

+0

@matt我明白。我只是想知道是否有一個很好的工廠方法已經存在,看起來更清潔,我可以瞭解到這一點,這也有助於更先進的案例。 – user1416564

回答

4

讓我們考慮一下吧。哦,還有很多的方式!它是驚人的什麼在文檔尋找只是一瞬間會告訴你。

你有什麼作爲banners鍵的值是一個所以你要找的是一個NSArray方法,一個NSArray方法,如filteredArrayUsingPredicate:

因此,您可以編寫一個描述position等於3的NSPredicate,然後您將獲得所有字典(其中包含一個字典數組)的所有字典的NSArray。

哦,這是另一種可能性:indexOfObjectPassingTest:。有了這個,你可以提供一個塊,指定字典的position3,你將得到這個數組中字典的索引(在這種情況下是2)。

我可以繼續下去,但是對你來說學習閱讀文檔不是更好嗎? Here it is

相關問題