iOS Swift Collections and Control Flow Control Flow With Conditional Statements FizzBuzz Challenge

Hubert Rzymski
Hubert Rzymski
986 Points

I don't know what is wrong with this solution, it's working on Xcode.

Everything is on subject, I don't know what's is wrong.

fizzBuzz.swift
func fizzBuzz(n: Int) -> String {
  // Enter your code between the two comment markers
  switch n
  { 
    case n where n % 3 == 0 && n % 5 == 0: return "FizzBuzz"
    case n where n % 3 == 0: return "Fizz"
    case n where n % 5 == 0: return "Buzz"
  }
  // End code
  return "\(n)"
}

2 Answers

Jhoan Arango
MOD
Jhoan Arango
Treehouse Moderator 13,603 Points

Hello Hubert,

I am sorry for the late response.

Your code is excellent, and it works perfect.. The only thing is that you have to remember that switching always has to be exhaustive. In this case, since it can not be, then we have to add a default. This means that after the evaluation of all the cases you gave, it will end execution.

func fizzBuzz(n: Int) -> String {
  // Enter your code between the two comment markers
  switch n
  { 
    case n where n % 3 == 0 && n % 5 == 0: return "FizzBuzz"
    case n where n % 3 == 0: return "Fizz"
    case n where n % 5 == 0: return "Buzz"
    default: break // Adding a break, this will stop the execution
  }
  // End code
  return "\(n)"
}

Hope this help

Hubert Rzymski
Hubert Rzymski
986 Points

Thanks very much, I solved this by deleting switch and using if, btw really thanks you.