Open ddosang opened 1 year ago
랜드마크 리스트 > 상세 화면 (favorite 을 찍을 수 있고, favorite 여부에 따라 filtering 해서 볼 수 있음) 뭔가 멋진 마크 고도, 심박수 그래프 애니메이션
landmark 를 category 에 따라 분류해서 봄 그것을 하기 위해 struct 에 category 를 추가하고, Dictionary 로 만들어서 사용 (이 문법 익혀둘것)
Categories 폴더에 뷰들도 만들었지만 이건 어렵지 않았으므로 패쓰.
// Landmark.swift
var category: Category
enum Category: String, CaseIterable, Codable {
case lakes = "Lakes"
case rivers = "Rivers"
case mountaions = "Mountains"
}
// ModelData.swift
var categories: [String: [Landmark]] {
Dictionary(grouping: landmarks, by: { $0.category.rawValue })
}
isFeatured 라는 변수를 Landmark 에 추가하고 features 배열을 ModelData 에 추가하여 featured 인 것을 리스트 맨 위에 보여줄 수 있도록.
그리고 ContentView 에서 하단 탭바를 엄청 쉽게 만들었다.
@State private var selection: Tab = .featured
enum Tab {
case featured
case list
}
var body: some View {
TabView(selection: $selection) {
CategoryHome()
.tabItem {
Label("Featured", systemImage: "star")
}
.tag(Tab.featured)
LandmarkList()
.tabItem {
Label("List", systemImage: "list.bullet")
}
.tag(Tab.list)
}
}
https://developer.apple.com/tutorials/swiftui/composing-complex-interfaces