SwiftUI에서는 ForEach를 사용해서 View를 반복적으로 나타낼 수 있다. 어떤배열의 각 요소는 서로를 식별할 수 있도록 Identifiable을 준수하거나, ForEach 이니셜라이저에 id 매개변수를 제공해야한다.
id를 줄 때 사람 이름 자체를 id로 준다고 하면 동명이인이 있을 수 있으므로, UUID를 통해, 그 고유한 유니크 id를 생성하게 도와준다.
ForEach(어떤배열) { 매개변수 in
어떤 형태로 그 배열을 보여줄 건지
}
기본 구조는 이렇다.
예를 들어서
[DailyFight] 타입을 따르는 sampleData라는 프로퍼티가 있다.
static let sampleData: [DailyFight] =
[
DailyFight(title: "누가 닭다리를 두 개 먹었는가?", fightTimes: 10, fighters: ["박가온", "김릴리", "김억두"], theme: .gaonRed),
DailyFight(title: "누가 내 엉덩이를 만졌는가?", fightTimes: 5, fighters: ["최가온", "왕릴리", "강억두", "신짱구"], theme: .gaonYellow),
DailyFight(title: "누가 사고 냈냐?", fightTimes: 4, fighters: ["김가온", "박릴리", "김철수", "훈발놈"], theme: .gaonBlue)
]
이 DailyFight 배열의 인스턴스 sampleData의 각각의 배열요소들에 접근하여, 그 배열요소들의 View를 반복해서 보여주고자 할 때 ForEach를 쓴다.
ForEach(sampleData) { parameter in
Text(parameter.title)
}
그러면 이렇게 될 거다.
누가 닭다리를 두 개 먹었는가?
누가 내 엉덩이를 만졌는가?
누가 사고 냈냐?
'Note' 카테고리의 다른 글
Form (0) | 2023.04.14 |
---|---|
.map (0) | 2023.04.12 |
나만의 라벨 스타일 만들 때 (0) | 2023.04.07 |
타입 프로퍼티 (0) | 2023.04.07 |
익스텐션 (Extensions) (0) | 2023.04.06 |