Q:

Add new value and key in existing NSMutableArray

I have the following array, however, is there a way to add a new key and value ( such as age) for each dictionary item in the NSMutableArray after the following initialization.   
NSMutableArray* names = [NSMutableArray arrayWithObjects:
                  [NSDictionary dictionaryWithObjectsAndKeys:
                   @"Joe",@"firstname",
                   @"Bloggs",@"surname",
                   nil],
                  [NSDictionary dictionaryWithObjectsAndKeys:
                   @"Simon",@"firstname",
                   @"Templar",@"surname",
                   nil],
                  [NSDictionary dictionaryWithObjectsAndKeys:
                   @"Amelia",@"firstname",
                   @"Pond",@"surname",
                   nil],
                  nil];

A:

You can do this using dip linking .
Here is Sample Code:
NSMutableDictionary mutableCopy = (NSMutableDictionary )CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFDictionaryRef)originalDictionary, kCFPropertyListMutableContainers);

https://developer.apple.com/reference/corefoundation/1429997-cfpropertylistcreatedeepcopy?language=objc

