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! Review Dictionaries and Arrays

Girish Purswani
Girish Purswani
514 Points

How to add "objectAtIndex" syntax while adding values to mutableDictionary?

Now add the values in our array to our new dictionary. The keys for the values should be: 'customer', 'size', 'style' and 'color'. The values in the original array are in the same order as the keys listed above. (Note: Don't set the values directly as strings, but rather use something like 'objectAtIndex' to reference the original array.)

This is my question

variable_assignment.mm
NSArray * shoeOrder = @[@"Charles Smith", @(9.5), @"loafer", @"brown"];

NSMutableDictionary * shoeOrderDict = [[NSMutableDictionary alloc]init];

  [shoeOrderDict objectAtIndex:0 setValue:@"abc"  forKey:"name" ];

1 Answer

Hi there,

You want to try setObject: forKey:. Pass in the value held in the array for each key as detailed in the question - use objectAtindex: to pull the value from each element of the array and match that up with the keys.

One line would look like:

[shoeOrderDict setObject:[shoeOrder objectAtIndex:0] forKey:@"customer"];

I hope that helps.

Steve.