Swift Initialize Struct con propiedades almacenadas opcionales
Soy un novato de Swift y estoy tratando de entender cómo usar Structs con propiedades opcionales. Hice un poco de búsqueda y obtuve algo que funciona, pero se siente increíblemente ineficiente, por lo que me pregunté si hay una forma mejor / más manejable de lograr mi objetivo.
Me gustaría usar Structs para representar un negocio, pero no tengo idea de antemano qué combinación de propiedades es probable que tenga un negocio específico. Esto parece significar que tengo que crear un init () para cada combinación posible de parámetros.
Aquí hay un ejemplo simplificado (tengo muchas más propiedades):
import Foundation
struct Business {
let name : String
var web : String?
var address: String?
// just the business name
init(busName: String) {
self.name = busName
}
// business name + website
init(busName: String, website: String) {
self.name = busName
self.web = website
}
// business name + address
init(busName: String, address: String) {
self.name = busName
self.address = address
}
// business name + website + address
init(busName: String, website: String, address: String) {
self.name = busName
self.web = website
self.address = address
}
}
Entonces puedo inicializar la clase así:
Business(busName: "Dave's Cafe", website: "http://www.davescafe.com")
Business(busName: "Sarah's Brewhouse", address: "41 Acacia Ave, Smalltown")
¿No hay forma de crear algún tipo de init () donde los parámetros son opcionales? Si pudiera señalarme en la dirección de los términos o conceptos para buscar, sería genial.