Je suis un débutant en Swift et j'essaie de me faire une idée de l'utilisation des structures avec des propriétés facultatives. J'ai fait pas mal de recherches et j'ai obtenu quelque chose qui fonctionne mais qui semble incroyablement inefficace. Je me demandais donc s'il existait un moyen meilleur/plus facile à gérer pour atteindre mon objectif.
J'aimerais utiliser des Structs pour représenter une entreprise, mais je n'ai aucune idée à l'avance de la combinaison de propriétés qu'une entreprise spécifique est susceptible d'avoir. Cela semble signifier que je dois créer un init() pour chaque combinaison possible de paramètres.
Voici un exemple simplifié (j'ai beaucoup plus de propriétés) :
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
}
}
Je peux alors initialiser la classe comme ceci :
Business(busName: "Dave's Cafe", website: "http://www.davescafe.com")
Business(busName: "Sarah's Brewhouse", address: "41 Acacia Ave, Smalltown")
N'y a-t-il pas moyen de créer une sorte de init() où les paramètres sont facultatifs ? Si vous pouviez m'indiquer des termes ou des concepts à rechercher, ce serait formidable.