Avatar ·

Wie macht man einen memberwise-Initialisierer für Strukturen in Swift standardmäßig public?

Hallo zusammen! Ich habe angefangen, Swift zu lernen, und bin auf ein Problem gestoßen, wenn ich mit Strukturen (struct) arbeite. Standardmäßig generiert Swift für Strukturen einen memberwise-Initialisierer (elementweisen Initialisierer), der es ermöglicht, eine Instanz zu erstellen, indem Werte für alle Eigenschaften übergeben werden. Aber wenn ich eine Struktur mit dem Zugriffslevel `public` deklariere, wird der memberwise-Initialisierer internal, nicht public. Dadurch kann ich die Struktur nicht aus einem anderen Modul verwenden. Hier ist ein Beispiel: ```swift // ModuleA.swift public struct User { public let name: String public let age: Int // memberwise-Initialisierer ist nicht explizit deklariert } // ModuleB.swift (anderes Modul) let user = User(name: "Alice", age: 30) // Fehler: 'User' cannot be initialized with memberwise initializer ``` Ich