Avatar ·

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

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. Aus diesem Grund 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