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

    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)
    }

     

    반응형

    댓글