swiftUI 동적 list 문법 사항 질문드립니다

import SwiftUI

struct Family: Identifiable {
var id = UUID()
var name: String
}

struct FamilyRow: View{
var family: Family
var body: some View{
Text(“Family: (family.name)”)
}
}

struct ContentView: View {
var body: some View {
let first = Family(name: “YE”)
let second = Family(name: “JH”)
let third = Family(name: “MJ”)
let families = [first, second, third]
return List(families){ family in
FamilyRow(family: family)
}//List
}
}
위의 볼드체로 된 FamilyRow(family: family)에서 두번째 family는 정확히 무엇을 받는 것인지 설명 부탁드립니다. 기본적인 문법 사항인데… 정확하게 이해가 필요할 듯해서요.

import SwiftUI

struct Family: Identifiable {
    var id = UUID()
    var name: String
}

struct FamilyRow: View{
    var family: Family
    var body: some View{
        Text("Family: (family.name)")
    }
}

struct ContentView: View {
    var body: some View {
        let first = Family(name: "YE")
        let second = Family(name: "JH")
        let third = Family(name: "MJ")
        let families = [first, second, third]
        return List(families){ family in
            FamilyRow(family: family)
        }//List
    }
}

인덴트 넣은 질문 코드를 추가합니다.

질문하신 두번째 family는 List 초기화 함수의 매개변수로 넘어가는 trailing closure 안에서 쓰이는 name 인데요,

List를 families 로 만들면서 그 안에 들어갈 FamilyRow의 내용을 채우기 위한 개별 family 인스턴스를 받아오는 역할을 합니다.

아마 연습삼아 만드는 중이라 그럴 것으로 예상하지만, SwiftUI 의 구조(MVVM)상 ContentView 안에서 Family 인스턴스를 생성하는 건 바람직하지 않아 보입니다.

참고할 수 있는 간단한 구조는 아래 답글에… :grin:

import SwiftUI

    struct Family: Identifiable {
        var id = UUID()
        var name: String
    }
    
    struct FamilyRow: View{
        var family: Family
        var body: some View{
            Text("Family: \(family.name)")
        }
    }
    
    //Dummy Data
    let families : [Family] =
    [
        Family(name: "YE"),
        Family(name: "JH"),
        Family(name: "MJ")
    ]

    struct ContentView: View {
        var body: some View {
        
            //List 생성
            List(families, id: \.id) { family in
                FamilyRow(family: family)
            }
        
        }
    }

이와 같은 방식으로 dummy data를 생성하고 List를 만드는 것이 좋을 것 같습니다.
https://developer.apple.com/tutorials/swiftui
swiftui tutorial이 잘 되어있으니 처음부터 끝까지 따라 만들어보는 것 추천드려요!

좋아요 1