Programming/iOS

[SwiftUI] 동적 데이터를 리스트로 표현

고양이의시간 2020. 6. 26. 14:31

동적 데이터 리스트를 표현하기 위해서는, 데이터가 Identifiable 프로토콜을 따르도록 정의 해야 한다. 

또한, 리스트내에서 각 항목을 식별하기 위해 id 라는 이름의 프로퍼티가 객체에 있어야 한다.

UUID() 는 각 항목마다 고유한 ID를 자동으로 생성하는데 사용된다.

struct ToDoItem: Identifiable {
    var id = UUID()
    var task: String
    var imageName: String
}

var listData: [ToDoItem] = [
    ToDoItem(task: "방청소", imageName: "trash.circle.fill"),
    ToDoItem(task: "장보기", imageName: "cart"),
    ToDoItem(task: "공부", imageName: "studentdesk")
]

 

 

 

 

List 의 각 항목을 클릭하여, 다른 뷰로 넘어가기 위해서는

1. List 선언부를 NavigationView 로 감싸고

2. 각 행을 NavigationLink 로 감싸면 된다

 

리스트는 제목있는 섹션으로 나눌수 있고, 행의 추가, 삭제, 이동을 하도록 구성할 수도 있다.