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!

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 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,021 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!