Wie kann man in SwiftUI einen ausgewählten Wert in File1 in File2 übertragen, dann in File2 eine Berechnung durchführen und das Ergebnis in File1 anzeigen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Im einfachsten Fall fügst du dazu in deiner View noch eine Textfeld mit einem Funktionsaufruf ein:

Text("Ergebnis: \(calculateMyValue(initialisator))")

Da initialisator ein State ist, wird es auch bei Änderungen über den Picker aktualisiert.

Die Funktion calculateMyValue() packst du dann einfach in ein extra Swift-File:

func calculateMyValue(int: value) -> Int {
  return value + 42
}

Wenns sauberer und umfangreicher wird, würde ich mich an deiner Stelle mal in Combine einlesen und mit einem ObservableObject arbeiten.

Woher ich das weiß:Berufserfahrung – Entwickle Anwendungen für iOS, iPadOS und macOS beruflich.
lula08 
Fragesteller
 02.09.2020, 16:10

Super perfekt danke dir. Genauso funktioniert es und genauso brauche ich es. Auch danke dir für den Tipp mit dem reinlesen!

1

func funktionsname(int: rechne) -> Int {

return rechne + 1

}

aufruf:

var berechneteZahl = funktionsname(int: beliebige Zahl)

ich empfehle folgende Seite. Dort sind die Grundlagen gut erklärt: https://swift.org/

ich glaube das Kompendium gibt es dirt auch als PdF zum Download

SaFle  02.09.2020, 15:12

Ups. Sollte als Kommentar rein

0
lula08 
Fragesteller
 02.09.2020, 16:21

Alles klar danke dir

0

Moin,

wenn ich dich richtig verstehe, benötigst du nur eine Funktion mit einem -> return Wert. Die kann in der gleichen Klasse deklariert werden oder in einer „Bibliothek“. Praktisch wenn man sie in mehreren Projekten oder Klassen benutzen will.

lula08 
Fragesteller
 02.09.2020, 14:22

Hi,

ich denke mal, dass ich nur eine Funktion benötige. Diese Funktion soll aber in einer neuen File sein und nicht in der gleichen View/Klasse. Quasi wie du es schon gesagt hast als "Bibliothek". Kannst du mir da ein Beispiel geben? Und kann/muss die neue File auch eine SwiftUI File sein und keine Swift File? Ich schätze mal, dass mit einer Swift File das "übertragen" des Wertes nicht funktioniert. Also von einer SwiftUI File in eine Swift File und dann wieder in die SwiftUI File.

0
SaFle  02.09.2020, 14:31
@lula08

Erstelle ein neues swiftfile. Z. B. „Bib“. Dort schreibst du die Methode rein. Nun kannst du von überall mit Bib.methodenname() darauf zugreifen.

0
lula08 
Fragesteller
 02.09.2020, 14:38
@SaFle

Ich bin noch nicht ganz vertraut mit der Materie. Kannst du mir eine Beispiel geben wie die Methode samt return aussehen muss? Danke schonmal im Voraus

0