Swift ranges are written as 0...10, not [0...10].
[0...10] creates a single-item array. The first item in the array is a 0...10 range.
Using for i in [0...10] thus iterates over that single-item array, not the range itself. The iterated value i will be of type Range or ClosedRange.
To iterate over each Int in the range, as you expect to be doing, use the range 0...10 without the brackets:
for i in 0...10 {
// ...
}
for i in 0..<10 {
// ...
}
https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html
You can also use for-in loops with numeric ranges. This example prints the first few entries in a five-times table:
for index in 1...5 { print("\(index) times 5 is \(index * 5)") }The sequence being iterated over is a range of numbers from 1 to 5, inclusive, as indicated by the use of the closed range operator
(...).
solved Swift `for-in` loop Range and ClosedRange errors