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

Swithc code challange

I've written my code, but I cannot go on. Suggestions, thanks

Giovanni

operators.swift
var europeanCapitals: [String] = ["Brussels", "Vaduz", "Sofia"]
var asianCapitals: [String] = ["New Delhi", "Hanoi"]
var otherCapitals: [String] = ["Washington D.C.", "Mexico City", "Brasilia"]

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 europeanCapitals {
    case "BEL": print("Brussels")
    case "LIE": print("Vaduz")
    case "BGR": print("Sofia")

  }

  europeanCapitals.append("Brussels", "Vaduz", "Sofia")

    switch asianCapitals {
    case "IND": print("New Delhi")
    case "VNM": print("Hanoi")

    }

    asianCapitals.append("New Delhi", "Hanoi")

    switch otherCapitals {
    case "USA": print("Washington D.C.")
    case "MEX": print("Brasilia")
    case "BRA": print("Brasilia")

    }

   otherCapitals.append("Washington D.C.", "Mexico City", "Brasilia")
    // End code
}

1 Answer

David Papandrew
David Papandrew
8,386 Points

Hi Giovanni,

A few things:

1) The initial array declarations should be fore empty arrays

2) In the "for in" loop, you will switch on "value". You can use a single switch statement.

3) You can use a single case statement to find and append cities into their respective categories

4) You will append the string values for each key value (you don't have to write them out).

Hopefully the code below will help illustrate these things:

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 {
    switch key {
    case "BEL", "BGR": europeanCapitals.append(value)
    case "IND", "VNM": asianCapitals.append(value)
    default: otherCapitals.append(value)
    }
}

Good luck!

Thanks for your kind reply. I'm totally beginner and I'm studying, but for me it's very difficult. Bye