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

I don't understand. Please help.

I don't get it at all. Could someone answer this code challenge please?

operators.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
    switch airportCodes {
      case "BEL": europeanCapitals.append(key)
    }
    // End code
}

1 Answer

Hi Aiden,

I see you started fine by using a Switch statement and properly appending the values (airport names) to a corresponding array.

However you have missed two fundamentals.

1- While using Switch statements you can switch multiple conditions using comma. In this case you must switch every other airport code belonging to the same array:

for (key, value) in world {
    switch key {
    case "BEL", "LIE", "BGR": europeanCapitals.append(value)
    case "IND", "VNM": asianCapitals.append(value)
    }

2- Last but not least, all Switch statements must contain a default value to cover any values that are not addressed explicitly in previous cases (MEX, USA, etc...):

for (key, value) in world {
    switch key {
    case "BEL", "LIE", "BGR": europeanCapitals.append(value)
    case "IND", "VNM": asianCapitals.append(value)
    default: otherCapitals.append(value)
    }
}

Hope this is now clear for you.

Thank you!