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 Swift 2.0 Collections and Control Flow Control Flow With Conditional Statements Working with Switch Statements

Alex Nelsen
PLUS
Alex Nelsen
Courses Plus Student 2,977 Points

How do you use switch in a dictionary?

Ok so I am not having trouble with syntax, I am completely lost in using a dictionary key:value to iterate into and array. Any help would be appreciated.

switch.swift
var europeanCapitals: [String] = []
var asianCapitals: [String] = []
var otherCapitals: [String] = []

let world = [
  "BEL": "Brussels", 
  "LIE": "Vaduz", 
  "BGR": "Sofia", 
  "USA": "Washington D.C.", 
  "MEX": "Mexico City", 
  "BRA": "Brasilia", 
  "IND": "New Delhi", 
  "VNM": "Hanoi"]

for (key, value) in world {
    // Enter your code below
    var capitals = value []
    switch capitals {
    case "BEL", "LIE", "BGR" : europeanCapitals.append [world] 
    default: "Nope"
    }
    // End code
}

1 Answer

Hi Alex,

You can use the key and value without creating a separate array in the loop. Try something like this:

for (key, value) in world {
    // Enter your code below
    switch key {
    case "BEL", "LIE", "BGR" : europeanCapitals.append(value) 
    default: "Nope"
    }
    // End code
}

edit: The challenge asks for the Asian and other capital arrays to be populated too - you can just add those with another case. Hope this helps!