Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Object-Oriented Objective-C Memory, Arrays and Loops, Oh My! Alloc and Init

Not sure how to initialize key-value pairs

It wants me to allocate memory and initialize the key value pairs, but I can't find the proper way to do so. Thanks in advance.

variable_assignment.mm
NSMutableDictionaruy *carDict = [[NSMutableDictionary alloc] @"Make":@"Honda", @"Model":@"Accord", nil];

1 Answer

Anjali Pasupathy
Anjali Pasupathy
28,883 Points

You're almost there! Your alloc is correct; you just need to correct the format you're using to initialize the NSMutableDictionary.

The general format for allocating and initializing an NSMutableDictionary object can look like this:

NSMutableDictionary *carDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys: /*OBJECT 1*/, /*KEY 1*/, /*OBJECT 2*/, /*KEY 2*/, nil];

In this case, OBJECT 1 would be @"Honda", KEY 1 would be @"Make", OBJECT 2 would be @"Accord", and KEY 2 would be @"Model".

I hope this helps!

Worked like a charm. Thanks.