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 trialGeorge Blizzard
Courses Plus Student 285 PointsWon't accept the right answer.
Why is this wrong?
let currencies = ["US": "Dollar", "UK": "Pound", "JP": "Yen"]
let ukCurrency = currencies.removeValueForKey("UK")
3 Answers
rayorke
27,709 PointsHi George!
removeValueForKey actually removes the value from the dictionary. Instead, what the challenge is asking you to do is to assign the value to a new constant:
You can find reference for dictionaries in the official Apple documentation, here
Greg Kaleka
39,021 PointsHi George!
currencies
is a constant, since you declared it with let
. Therefore, it is immutable and you can't call removevalueforkey()
on i.
What you want to do here is retrieve (not remove!) the value for the key "UK" from currencies
. The easiest way to do that is with subscripting:
let ukCurrency = currencies["UK"]
What this says is "look in the dictionary currencies
for the key "UK", and store the value it's attached to in the constant ukCurrency."
It's a lot like array subscripting, where you might say "look in the array myArray for the item at index 3, and store the item there in the constant myConstant."
let myConstant = myArray[3]
Geoff Parsons
11,679 PointsYou're attempting to remove a value from a constant which will cause an error. You instead need to just retrieve the value for "UK" from currencies
.