본문 바로가기

Note

ForEach

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