Untitled
user_8772351
plain_text
a year ago
4.5 kB
2
Indexable
Never
https://developer.apple.com/documentation/Swift/MainActor var body: some View { List { Text("A List Item") Text("A Second List Item") Text("A Third List Item") } } struct Ocean: Identifiable { let name: String let id = UUID() } private var oceans = [ Ocean(name: "Pacific"), Ocean(name: "Atlantic"), Ocean(name: "Indian"), Ocean(name: "Southern"), Ocean(name: "Arctic") ] var body: some View { List(oceans) { Text($0.name) } } struct Ocean: Identifiable, Hashable { let name: String let id = UUID() } private var oceans = [ Ocean(name: "Pacific"), Ocean(name: "Atlantic"), Ocean(name: "Indian"), Ocean(name: "Southern"), Ocean(name: "Arctic") ] @State private var multiSelection = Set<UUID>() var body: some View { NavigationView { List(oceans, selection: $multiSelection) { Text($0.name) } .navigationTitle("Oceans") .toolbar { EditButton() } } Text("\(multiSelection.count) selections") } (refresh)= struct Ocean: Identifiable, Hashable { let name: String let id = UUID() let stats: [String: String] } class OceanStore: ObservableObject { @Published var oceans = [Ocean]() func loadStats() async {} } @EnvironmentObject var store: OceanStore var body: some View { NavigationView { List(store.oceans) { ocean in HStack { Text(ocean.name) StatsSummary(stats: ocean.stats) // A custom view for showing statistics. } } .refreshable { await store.loadStats() } .navigationTitle("Oceans") } } struct ContentView: View { struct Sea: Hashable, Identifiable { let name: String let id = UUID() } struct OceanRegion: Identifiable { let name: String let seas: [Sea] let id = UUID() } private let oceanRegions: [OceanRegion] = [ OceanRegion(name: "Pacific", seas: [Sea(name: "Australasian Mediterranean"), Sea(name: "Philippine"), Sea(name: "Coral"), Sea(name: "South China")]), OceanRegion(name: "Atlantic", seas: [Sea(name: "American Mediterranean"), Sea(name: "Sargasso"), Sea(name: "Caribbean")]), OceanRegion(name: "Indian", seas: [Sea(name: "Bay of Bengal")]), OceanRegion(name: "Southern", seas: [Sea(name: "Weddell")]), OceanRegion(name: "Arctic", seas: [Sea(name: "Greenland")]) ] @State private var singleSelection: UUID? var body: some View { NavigationView { List(selection: $singleSelection) { ForEach(oceanRegions) { region in Section(header: Text("Major \(region.name) Ocean Seas")) { ForEach(region.seas) { sea in Text(sea.name) } } } } .navigationTitle("Oceans and Seas") } } } struct ContentView: View { struct FileItem: Hashable, Identifiable, CustomStringConvertible { var id: Self { self } var name: String var children: [FileItem]? = nil var description: String { switch children { case nil: return "📄 \(name)" case .some(let children): return children.isEmpty ? "📂 \(name)" : "📁 \(name)" } } } let fileHierarchyData: [FileItem] = [ FileItem(name: "users", children: [FileItem(name: "user1234", children: [FileItem(name: "Photos", children: [FileItem(name: "photo001.jpg"), FileItem(name: "photo002.jpg")]), FileItem(name: "Movies", children: [FileItem(name: "movie001.mp4")]), FileItem(name: "Documents", children: []) ]), FileItem(name: "newuser", children: [FileItem(name: "Documents", children: []) ]) ]), FileItem(name: "private", children: nil) ] var body: some View { List(fileHierarchyData, children: \.children) { item in Text(item.description) } } }