SwiftUI Search Bar mit Liste?

Ich möchte für meine Liste eine SearchBar implementieren, was ursprünglich auch funktioniert hat, allerdings habe ich ein paar Sachen umgeschrieben und jetzt funktioniert es nicht mehr.

Warum und wie behebe ich es?

struct Elementis: Identifiable{
    var id = UUID()
    var order: String
    var ename: String   
}
let Chemics = [
    Elementis(order: "1", ename: "Wasserstoff"),
    Elementis(order: "2", ename: "Helium"),
    Elementis(order: "3", ename: "Lithium"),
    Elementis(order: "4", ename: "Beryllium"),
    Elementis(order: "5", ename: "Bor"),
]
import SwiftUI

    @State private var searchText = ""
    var Element: [Elementis] = Chemics

 var body: some View{
   List{
                ForEach(Element) { elementis in
                    HStack{
                        NavigationLink(elementis.ename,
                                       destination: Aluminium())
                        
                        //Text(elementis.order)
                    }
                }
           
                
            }
            .navigationTitle("Chemie")
            .searchable(text: $searchText, prompt: "Element suchen...")



}

 var searchResults: [String] {
           if searchText.isEmpty {
               return Element.ename
           } else {
               return Element.ename.filter { $0.contains(searchText) }
           }
       }
}

 

Es kann sein, dass einige Klammern hier auf GuteFrage fehlen, diese sind aber im Programm definitiv drin.

Der Fehler taucht unter "var searchResults" auf und sagt mir je nachdem was ich einsetze verschiedene Meldungen an.

Meistens sind es folgende Meldungen:

"Cannot convert return expression of type 'String' to return type '[String]' "

"Value of type '[Elementis]' has no member 'ename' "

Über ein wenig Hilfe würde ich mich freuen. Besten Dank im Voraus

PC, Computer, Internet, programmieren, Swift, SwiftUI
Neue Liste in SwiftUI?

Ich möchte eine neue Liste unter meine Liste hinzufügen für ein neuen Bereich, allerdings blicke ich nicht warum es nicht geht. Einfach ein neues "List"-Element hinzufügen bringt es nicht. Ich glaube das Problem liegt in der NavigationView, da bin ich mir aber auch nicht sicher.

Kann mir jemand dabei helfen?

Hier ist mein Code und ein Bild von der Ansicht:

import SwiftUI

struct ContentView: View {
    @State private var searchText = ""

    var body: some View {
        VStack{
            NavigationView{
                
                   
                    List{
                        
                        Group{ NavigationLink("Geschwindigkeit",
                                              destination: Velocity())
                            NavigationLink("Strecke",
                                           destination: Strecke())
                            NavigationLink("Beschleunigung",
                                           destination: acceleration())
                        }
                        NavigationLink("Frequenz",
                                       destination: Frequenz())
                        NavigationLink("Kreisfrequenz",
                                       destination: Kreisfrequenz())
                        NavigationLink("Thomson´sche Schwingungsgleichung",
                                       destination: Thomson())
                        NavigationLink("Periodendauer",
                                        destination: Periodendauer())
                        NavigationLink("Schwingungsdauer eines Fadenpendels",
                                       destination: Fadenpendel())
                        NavigationLink("Gewichtskraft",
                                       destination: Gewichtskraft())
                        NavigationLink("Elektrischer Widerstand",
                                       destination: ElekWiderstand())
                        NavigationLink("Eigenfrequenz eines Dipols",
                                       destination: DipolFrequenz())
                        
                        
                                }
                    .navigationTitle("Physik")
                    .navigationBarTitleDisplayMode(.automatic)
                    .navigationViewStyle(.stack)
                    .navigationViewStyle(StackNavigationViewStyle())
               
                
           
          
            }
            
               
            
        }
       
        
        
    }

}

Bild zum Beitrag
Computer, programmieren, Swift, SwiftUI

Meistgelesene Beiträge zum Thema Swift