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 Build a Playlist Browser with Objective-C Building a Music Library Model Creating a Data Model

Building a music library model using NSDictionary

Hi, I am stuck on the below task. Any help would be greatly appreciated. Thanks!

Now that we have a chocolate box, let’s add some chocolates. We’re going to represent a single chocolate as an NSDictionary instance. Create an instance of NSDictionary, named caramelDelight and instantiate with the string flavor as a key and the string caramel as its value. Next, store the caramelDelight dictionary in the chocolateBox array.

GiftBasket.h
#import <Foundation/Foundation.h>

@interface GiftBasket : NSObject

@property (strong, nonatomic) NSArray *chocolateBox;

@end
GiftBasket.m
#import "GiftBasket.h"

@implementation GiftBasket

- (instancetype)init
{
    self = [super init];
    if (self) {
        //Add your code below
    }
    return self;
}

@end

2 Answers

Legen Chandler
PLUS
Legen Chandler
Courses Plus Student 5,806 Points

You got the property, great, now add the NSDictionary instance called caramelDelight, this is how we do it:

NSDictionary *caramelDelight  = @{@"flavor": @"caramel"};

the flavor is the key followed by a : then we insert the value which is caramel

to store the caramelDelight in the chocolateBox array we use the following syntax.

self.chocolateBox = @[caramelDelight];

import "GiftBasket.h"

@implementation GiftBasket

  • (instancetype)init { self = [super init]; if (self) { //Add your code below NSDictionary *caramelDelight = @{@"flavor":@"caramel"}; _chocolateBox = @[caramelDelight]; } return self; }

@end