Structure
RandomAccessCollection
Identifiable
Hashable
struct ForEach<Data, ID, Content> where Data : RandomAccessCollection, ID : Hashable
RandomAccessCollection(일명 RAC) 프로토콜을 기반으로 뷰를 제공하는데 사용한다.
ㄴ SwiftUI에서는 일종의 View Container 처럼 사용되는 것을 볼 수 있다.
ㄴ 뷰를 계산해서 보여준다.
ㄴ 실제로 공식 문서를 보면 Collection Containers 아래에 위치해 있다.
ID는 Hashable 프로토콜을 준수해야 한다.
Collection의 요소는 Identifiable 프로토콜을 반드시 준수해야 한다.
또는 ForEach의 생성자로 id 파라미터를 제공하는 것이 필요하다.
Collection Containers
뷰를 컬렉션 컨테이너로 그룹화한다. (Group views into collection containers)
타입이 다 Structure인 것이 그냥 재밌다..?
다른 뷰들을 모아서 복잡한 동적 그룹핑을 할 수 있도록 해준다.
ㄴ 최소한의 설정을 추가해서, 스와이프나 당겨서 새로고침 등을 구현할 수 있다.