Как правильно сделать структуру?

В Swift структура - это пользовательский тип данных, который может содержать свойства и методы. Они являются значимыми типами и передаются по значению, в отличие от классов, которые являются ссылочными типами.

Для создания структуры в Swift используется ключевое слово "struct", за которым следует имя структуры. Вот простой пример структуры:

struct Person {
    var name: String
    var age: Int
    var height: Double
    
    func sayHello() {
        print("Hello, my name is (name)!")
    }
}

В этом примере мы создали структуру с именем "Person" и тремя свойствами: "name" типа String, "age" типа Int и "height" типа Double. Мы также определили метод "sayHello", который выводит приветствие, используя свойство "name".

Чтобы создать экземпляр структуры, просто вызовите ее и присвойте значения свойствам:

var person1 = Person(name: "John", age: 25, height: 1.8)

В этом примере мы создали экземпляр структуры "person1" и присвоили ему имя "John", возраст 25 лет и рост 1.8 метра.

Вы можете получить доступ к свойствам структуры с помощью точечной нотации:

print(person1.name) // Выводит "John"
print(person1.age) // Выводит 25
print(person1.height) // Выводит 1.8

Вы также можете вызвать методы структуры:

person1.sayHello() // Выводит "Hello, my name is John!"

Структуры также могут иметь инициализаторы и расширения, что позволяет добавлять новые свойства и методы.

Использование структур в Swift имеет несколько преимуществ, включая передачу по значению, безопасность потоков, а также легкость создания и использования. Однако, в некоторых случаях, когда вам необходимо создать сложные иерархии классов или иметь возможность наследовать, классы могут быть предпочтительнее структур.