Question: I have this line in Objective-C.

```
NSMutableArray *mutableArray;
[mutableArray addObject:@{ @"Something" : aObject, @"Otherthing" : anotherObject }];

```

What does the `@{ ... }` part do exactly? It is an object, but it seems to create some kind of key, value pair on the fly.

Answer: 
It is creating NSDictionary object as you said. Syntax is simple

```
NSDictionary* dictionary = @{key: object, key: object};

```

In your example, keys are objects of NSString class. It is important to remember that dictionary copies keys and retains values.
The @{ ... } syntax is a shorthand way of creating a NSDictionary introduced as part of Modern Objective-C. The syntax `@{@"key1": object1, @"key2": object2}` is just a shorthand for more verbose methods like `[NSDictionary dictionaryWithObjectsAndKeys:]` among a few others.