Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

iOS Swift Basics (retired) Control Flow While and Do-While Loop

Bummer! Your code took too long to run. (What can i do?)

This appears everytime...

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var index = 0
while index < numbers.count {
println(numbers[index]) }

1 Answer

Greg Kaleka
Greg Kaleka
39,018 Points

Hi Stanila. You forgot to increment! You're stuck in what's called an infinite loop.

Think about what your code is doing:

  • The program hits the while loop, checks to see if index (which is 0) is less than numbers.count (which is 10)
  • It is, so it prints numbers[0] (which is 1), and goes back to the top.
  • It checks to see if index (still 0!) is less than numbers.count (still 10), and prints again.


This will go on forever.

You need one more line inside your while loop. Something like index = index+1 or if you're fancy, index++. This way when the loop runs a second time, index will be 1, then 2, and so on.

This is something you have to be careful with. If you get stuck in an infinite loop outside of the safety of Workspaces, your program will crash.

Happy programming!