SwiftUI/Controls & Tips
Warning "Non-constant range: argument must be an integer literal"
까칠코더
2023. 12. 7. 16:20
반응형
SwiftUI에서 ForEach 문을 사용할때 다음과 같이 정수 리터럴(literal)이 아닌
itemCount와 같은 변수나 상수를 사용하는 경우에 경고가 나타납니다.
struct ContentView: View {
let itemCount = 30
var body: some View {
VStack {
ForEach(0..<itemCount) { index in
Text("Item \(index)")
.padding()
}
}
}
}
이를 해결하기 위해서는 동적 범위 인덱스 속성처럼 고유한 아이디(identity)를 제공하기 위해 "id: \.self"를 사용하면 됩니다.
struct ContentView: View {
let itemCount = 30
var body: some View {
VStack {
ForEach(0..<itemCount, id: \.self) { index in
Text("Item \(index)")
.padding()
}
}
}
}
반응형