for i in 0..<arr.count
로 작성해야함
for
루프는 반복 가능한 시퀀스를 필요로 한다. Range<Int>
는 반복 가능한 시퀀스이지만, 정수 하나(arr.count
와 같은)는 반복 가능한 시퀀스가 아니다.
참고) 0..<arr.count
는 0
부터 arr.count
바로 직전까지의 값을 포함하는 반면, 1...arr.count
는 1
부터 arr.count
까지의 값을 포함한다. 이는 각각 반열린 범위(..<
)와 닫힌 범위(...
)로 알려져 있다.
4개의 변수를 1차원 배열에 랜덤하게 넣어야 하는 경우,
var arr: [Int] = []
let apple = "i like apple"
let orange = "i like orange"
let pineapple = "i like pineapple"
let melon = "i like melon"
let options = [apple, orange, pineapple, melon]
for i in 0...<arr.count{
let randomIndex = Int(arc4random_uniform(UInt32(options.count)))
arr[i] = options[randomIndex]
}
어제 미션보단 다행히 쉽게 해결할 수 있었다...
어제 미션은 함수 매개변수 타입과 반환값 타입 맞추는데 애먹었다.
확실히 내가 함수부분에 완벽하지 않은 것 같다.
더 공부해야겠다