Warning "Non-constant range: argument must be an integer literal"
SwiftUI/Controls & Tips 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()
}
}
}
}
반응형
'SwiftUI > Controls & Tips' 카테고리의 다른 글
SwiftUI 에서 Background나 Foreground 진입시 처리 (0) | 2024.01.05 |
---|---|
SegmentView (0) | 2023.12.30 |
Keyboard Height 계산해서 Publisher 하기 (0) | 2023.12.13 |
TextField에 clearButton 추가하기 (0) | 2023.12.13 |
Custom Environment (1) | 2023.12.05 |
foregroundColor vs tint (0) | 2023.10.28 |
SwiftUI 아이폰 회전시 Landscape, Portrait 이벤트 (0) | 2023.10.24 |
SwiftUI Color Hex 값으로 생성하기 (0) | 2023.10.08 |