Avatar ·

¿Cómo hacer que el memberwise initializer sea público por defecto para estructuras en Swift?

¡Hola a todos! Empecé a estudiar Swift y me encontré con un problema al trabajar con estructuras (struct). Por defecto, Swift genera para las estructuras un memberwise initializer (inicializador por miembros) que permite crear una instancia pasando valores para todas las propiedades. Pero si declaro una estructura con nivel de acceso `public`, el memberwise initializer se vuelve interno (internal), no público. Debido a esto, no puedo usar la estructura desde otro módulo. Aquí hay un ejemplo: ```swift // ModuleA.swift public struct User { public let name: String public let age: Int // memberwise initializer no declarado explícitamente } // ModuleB.swift (otro módulo) let user = User(name: "Alice", age: 30) // Error: 'User' cannot be initialized with memberwise initializer ``` Entiendo que puedo escribir mi propio inicializador público: ```swift public struct User { public let name: String public let age: Int public init(name: String, age: Int) { self.name = name