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

Please help me on this NSMutableDictionary example. Ive been stuck for ages and it wont work even tho code is good.

Please help me with the answer.

Been stuck for ages.

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

NSMutableDictionary *shoeOrderDict;

   shoeOrderDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"@Charles Smith", @(9.5), @"@loafer", @"@brown", nil];

NSString *customer;
  customer = [shoeOrder objectAtIndex: 0];

NSString *size;
  size = [shoeOrder objectAtIndex: 1];

NSString *style;
  style = [shoeOrder objectAtIndex: 2];

NSString *color;
  color = [shoeOrder objectAtIndex: 3];

NSLog(@"Customer: %@ \n Size: %@ \n Style: %@ \n Color: %@", customer, size, style, color);

What error are you getting?

1 Answer

the correct code is

NSArray *shoeOrder = @[@"Charles Smith", @(9.5), @"loafer",@"brown"];
NSMutableDictionary *shoeOrderDict = [[NSMutableDictionary alloc] init];
[shoeOrderDict setObject:[shoeOrder objectAtIndex:0] forKey:@"customer"];
[shoeOrderDict setObject:[shoeOrder objectAtIndex:1] forKey:@"size"];
[shoeOrderDict setObject:[shoeOrder objectAtIndex:2] forKey:@"style"];
[shoeOrderDict setObject:[shoeOrder objectAtIndex:3] forKey:@"color"];

in the second line we declare an Empty NSMutableArray using the [[NSMutableDictionary alloc] init]; call, then we get every item in the shoeOrder NSArray using the and objectAtIndex method and finally we add the respective key in using the setObject: forKey: with the given keys, in order to complete the challenge.

Good luck and keep coding!

Thank You so Much!!! I guess i was just confused with what the question was asking me to do.

I really appreciate the help! :)