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 FizzBuzz Challenge

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
Jhoan Arango
14,575 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

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