views:

46

answers:

1

I'm from a Flash ActionScript background. Where I'm from, I can set a dictionary-like object like this:

var data:Object = {startPoint:5, endPoint:12};

So coming to Objective-C, I was surprised to discover that the equivalent to this appears to be:

NSMutableDictionary *data = [NSMutableDictionary dictionary];
[data setObject:[NSNumber numberWithInt:5] forKey:@"startPoint"];
[data setObject:[NSNumber numberWithInt:12] forKey:@"endPoint"];

Surely there's an easier way... Or is that really my lot?

+3  A: 

This is the only shorter way I can think of:

NSMutableDictionary *petalData = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:5], @"startPoint", [NSNumber numberWithInt:12], @"endPoint", nil];
Rengers
True, although because it's so verbose I separated it onto different lines to make it more readable.
Joe