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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta