Apple Developer Academy/🎇 Swift

[Swift] 반복문에서 id: \.id 의 의미

haeunkim.on 2023. 6. 8. 10:49

1. id 앞에 \. 이 붙는 이유, 반복문을 이용해서 리스트를 만들때 Key를 참조하는법 

List(landmarks, id: \.id) { landmark in
    LandmarkRow(landmark: landmark)
}

 

하지만 Landmark 코드에 

struct Landmark: Hashable, Codable, Identifiable {

다음과 같이 Identifiable을 추가해주면 id key path는 삭제해도 된다.  

Identifiable 프로토콜을 구현하는 경우 id 프로퍼티를 직접 지정하지 않아도 List에서 요소를 식별할 수 있게 되어, key path를 따로 지정할 필요가 없기 때문이다! 

 

List(landmarks) { landmark in
    LandmarkRow(landmark: landmark)
}

 

반응형