SwiftUI의 ForEach

개요


SwiftUI에서 ForEach도 for-in 구문과 같이 많이 사용한다.

그러나 Swift 문법 공식문서에는 검색해도 나오지 않는다.

SwiftUI의 컬렉션 컨테이너, ForEach에 대해서 알아보고 사용법을 익혀보겠다.

애플 공식문서




ForEach


struct ForEach<Data, ID, Content> where Data : RandomAccessCollection, ID : Hashable

위와 같은 프로토타입을 가지고 있다. 리스트, 섹션과 같은 곳에 분류가 되어있으며

Swift 문법의 forEach() 메서드와는 아예 다른 것이다.

SwiftUI에서 사용하는 ForEach는 자체적인 구조체 뷰라고 봐야한다.

ForEach(array, id: \.self) name in와 같은 형식으로 사용한다.

SwiftUI가 배열의 각 요소들을 인식할 수 있는 id: .self를 써줘야한다.

1
2
3
4
ForEach(emojis[0..<emojiCount], id: \.self) { emoji in
                        CardView(content: emoji)
                            .aspectRatio(2/3, contentMode: .fit)
}