title: iOS - deleting all entries containing a key on all NSDictionaries stored inside a main NSDictionary
body: <p>I have a main NSMutableDictionary that contains a collection of others NSMutableDictionary.</p>
  
  <p>The thing goes like this:</p>
  
  <pre><code>NSMutableDictionary *subDict1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
       obj1, @"name",
       obj2, @"color",
      nil];
  
  NSMutableDictionary *subDict2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
       obj3, @"name",
       obj4, @"color",
       obj5, @"address",
       obj6, @"phone",
       obj7, @"color",
       obj8, @"parent",
      nil];
  
  NSMutableDictionary *subDict3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
       obj0, @"name",
       obj9, @"parent",
       objA, @"site",
       objB, @"surname",
       objC, @"label",
      nil];
  </code></pre>
  
  <p>These sub dictionaries may have different number of entries and the keys may vary. Some may have keys with the same name.</p>
  
  <p>They are stored in a main dictionary like this:</p>
  
  <pre><code>NSMutableDictionary *mainDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
      subDict1, @"1",
      subDict3, @"3",
      subDict2, @"2",
      nil];
  </code></pre>
  
  <p>I want at one shot, remove all entries in all sub dictionaries that have a specific key.</p>
  
  <p>I know I can iterate thru the dictionaries and sub dictionaries, but I also know that Dictionaries have smart ways to do that using predicates and other stuff, but I am not seeing how. I am trying to find that because the method this will run is a little bit tricky and have to do it as fast as possible and I am not sure if normal iteration with loops or whatever will be fast enough...</p>
  
  <p>Any clues? thanks.</p>