Если у меня есть словарь со следующим ключом / значением "foo" / "bar" и объявленный [dictionary setObject:@"baz" forKey:@"foo"];, это заменит текущую пару значений ключа на "foo" / "baz" и удалит "foo" / "bar «
[dictionary setObject:@"baz" forKey:@"foo"];
Поведение NSMutableDictionary (как и любой общей хэш-таблицы) заключается в том, что, если она не существует, она создает новую пару ключ / значение, если она уже выходит, она заменит существующее значение новым один.
Документация здесь;
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableDictionary_Class/Reference/Reference.html%23//apple_ref/doc/uid/TP40003692
предполагает, что так и будет. Но, пожалуйста, не верьте мне на слово, прочитайте их сами.
Возможно, вам стоит прочитать;
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Collections/Collections.html%23//apple_ref/doc/uid/10000034i