[ACCEPTED]-Creating an NSDictionary-cocoa-touch

Accepted answer
Score: 106

You are exchanging the order in which you 3 insert objects and key: you need to insert 2 first the object, then the key as shown 1 in the following example.

NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
Score: 23

new Objective-c supports this new syntax 1 for static initialisation.

@{key:value}

For example:

NSDictionary* dict = @{@"x":@(acceleration.x), @"y":@(acceleration.y), @"z":@(acceleration.z), @"date":[NSDate date]};
Score: 6

NSDictionary Syntax:

NSDictionary *dictionaryName = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@value2",@"key2", nil];

Example:

NSDictionary *importantCapitals = [NSDictionary dictionaryWithObjectsAndKeys:
@"NewDelhi",@"India",@"Tokyo",@"Japan",@"London",@"UnitedKingdom", nil];
NSLog(@"%@", importantCapitals);

Output looking like,

{India = NewDelhi; Japan 1 = Tokyo; UnitedKingdom = London; }

More Related questions