从具有特定键值对的字典数组中获取对象?

时间:2016-10-26 03:01:11

标签: ios objective-c arrays nsdictionary

所以,如果我有一个如下字典:

{
 "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
   }
 ]
}

有没有办法让我说,“给我一个字典对象,其中键'position'的值= 3而不使用for循环?

1 个答案:

答案 0 :(得分:4)

让我们考虑一下。哦,有很多方法!如果在文档中寻找片刻会告诉您,那真是太棒了。

banners键的值是一组字典。所以你要找的是NSArray方法。 NSArray方法,例如filteredArrayUsingPredicate:

因此,您可以编写一个NSPredicate,将position描述为等于3,并且您将获得所有字典的NSArray(在这种情况下,一个字典的数组。)

哦,这是另一种可能性:indexOfObjectPassingTest:。有了这个,你提供一个块来指定字典的position3,并且你将在这个数组中找回该字典的索引(在这种情况下是2) )。

我可以继续下去,但是你学会自己阅读文档会不会更好? Here it is