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 Objective-C Basics (Retired) Foundation Framework NSDictionary

Tim Groot
Tim Groot
1,334 Points

The Year Set is not the Correct Value

Hi, I am at Objective-C Basics foundation framework last code challenge for NSDictionary.

Challenge:

Add the year of the album to the 'albumMutable' variable. Where the key is a NSString 'year' and the value is also a NSString '1969'.

My Answer:

[albumMutable setObject:@1969 forKey:@"year" ];

Error: The year set is not the correct value.

I tried some other ways, to put it in a NSString but that didn't really workout. Any help and explanation is greatly appreciated. Thanks.

2 Answers

Holger Liesegang
Holger Liesegang
50,595 Points

Hi Tim,

you were asked to use 1969 as a string and that would be @"1969" as @1969 builds a NSNumber and this should work:

[albumMutable setObject:@"1969" forKey:@"year"];

I just tested Challenge task 3 of 3 of "Let's add the year of the album to the 'albumMutable' variable. Where the key is a NSString 'year' and the value is also a NSString '1969'." with

NSDictionary *album = @{ @"title":@"Abbey Road", @"artist":@"The Beatles" };
NSMutableDictionary *albumMutable = [NSMutableDictionary dictionaryWithDictionary:album]; 
[albumMutable setObject:@"1969" forKey:@"year"];

and it passed the test.

Tim Groot
Tim Groot
1,334 Points

Hi Holger,

Thanks for your help! Such a stupid mistake, I started thinking way to complicated after I got that error.

Thanks again,

Tim