Я новичок в Swift, и я пытаюсь использовать его, используя Structs с дополнительными свойствами. Я сделал довольно много поиска и получил что-то, что работает, но он чувствует себя невероятно неэффективным, поэтому задавался вопросом, есть ли лучший/более управляемый способ достижения моей цели.
Я хотел бы использовать Structs для представления бизнеса, но заранее не знаю, какая комбинация свойств может иметь какой-либо конкретный бизнес. Это означает, что я должен создать init() для каждой возможной комбинации параметров.
Здесь упрощенный пример (у меня есть еще много свойств):
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
}
}
Затем я могу инициализировать класс следующим образом:
Business(busName: "Dave Cafe", website: "http://www.davescafe.com")
Business(busName: "Sarah Brewhouse", address: "41 Acacia Ave, Smalltown")
Нет ли способа создать какой-либо init(), где параметры являются необязательными? Если бы вы могли указать мне в сторону терминов или концепций для поиска, это было бы здорово.