SwiftUI Fehler lässt sich nicht finden, was ist falsch an meinem Code?

2 Antworten

Also mal abgesehen von der wirklich unschönen Formatierung, was ich tun würde ist, erstmal ein Listenelement definieren und das dann in eine NavigationView packen und um die einzelne Row herum einen NavigationLink packen, ähnlich wie in diesem Tutorial hier: https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation

Woher ich das weiß:Berufserfahrung – Ich bin Softwareentwickler (PL/SQL)
PsySkill 
Fragesteller
 13.08.2022, 01:02

Eine tolle Idee…dachte ich und so habe ich es auch versucht und 1:1 so umgesetzt aber es wollte nicht funktionieren. Ich könnte noch mal eine neue Frage stellen mit einer Version in der ich es so versucht habe.

0
Babelfish  13.08.2022, 08:29

Zur Formatierung vielleicht noch der Tipp, den nicht jeder kennt:

Alles markieren und dann im Menü Editor → Structure → Re-Indent wählen. Und schon sieht alles wieder schick aus.

0

Du kannst im NavigationLink keine Liste direkt angeben. Das kann der Compiler nicht verarbeiten. Üblicherweise verweist eine NavigationView immer direkt auf eine andere (komplexe) View und nicht nur auf ein primitives Element wie Text (das eignet sich nur zum Testen).

Du musst also deine Element-Anzeige als extra View auslagern:

ElementView.swift

import SwiftUI

struct ElementView: View {
  let element: Elementis
   
  var body: some View {
    List{
      Text(element.ename)
      HStack {
        Text("Symbol:")
        Text(element.symbol)
      }
      HStack {
        Text("Ordnungszahl:")
        Text(element.order)
      }
      HStack {
        Text("Elektronegativitätswert:")
        Text(element.elne)
      }
      HStack {
        Text("Elektronegativitätswert:")
        Text(element.amasse)
      }      
    }
    .navigationTitle(element.ename)
  }
}

In deiner ChemieView änderst du deine NavigationView wie folgt und übergibst ihr das jeweilige Element:

NavigationLink(elementis.ename, destination: ElementView(element: elementis))
Woher ich das weiß:Berufserfahrung – Nutze Apple-Geräte seit über 20 Jahren beruflich und privat.
PsySkill 
Fragesteller
 15.08.2022, 19:35

Danke, mittlerweile habe ich es selber schon bemerkt und ausgelagert.

0