Avatar ·

Warum sollte man in Swift eher eine Struktur als eine Klasse wählen?

Hallo zusammen! Ich habe gerade angefangen, Swift zu lernen, und bin verwirrt. Ich verstehe, dass sowohl Strukturen (struct) als auch Klassen (class) Eigenschaften und Methoden haben können. Der Unterschied scheint nur darin zu liegen, dass Strukturen Wertetypen (value types) und Klassen Referenztypen (reference types) sind. Aber in der Praxis verstehe ich nicht ganz, wann ich was verwenden soll. Hier ist ein Beispiel. Ich schreibe eine einfache Notizen-App. Ich habe eine Klasse Note erstellt: ```swift class Note { var title: String var content: String init(title: String, content: String) { self.title = title self.content = content } } var note1 = Note(title: "Einkäufe", content: "Milch kaufen") var note2 = note1 note2.title = "Dringende Angelegenheiten" print(note1.title) // Gibt "Dringende Angelegenheiten" aus — das habe ich nicht erwartet! ``` Ich dachte, ich erstelle eine Kopie, aber es stellte sich heraus, dass beide Variablen auf dasselbe Objekt verweisen. Dadurch ändern sich Daten an unerwarteten Stellen. Wenn ich `class` durch `struct` ersetze, funktioniert das Kopieren wie erwartet.