В Swift обертки свойств (property wrappers) представляют собой механизм, который позволяет вам инкапсулировать код для чтения и записи свойств. Они предоставляют удобный способ изменять поведение свойств без необходимости изменения самого свойства.
Property wrappers в Swift впервые были представлены в Swift 5.1. Они позволяют вам добавлять дополнительную логику к свойствам, такую как валидация значений, автоматическое логирование и другие манипуляции.
Пример использования обертки свойств в Swift:
@propertyWrapper struct TwelveOrLess { private var value: Int init() { self.value = 0 } var wrappedValue: Int { get { return value } set { value = min(newValue, 12) } } } struct MyStruct { @TwelveOrLess var number: Int } var instance = MyStruct() print(instance.number) // Выведет: 0 instance.number = 15 print(instance.number) // Выведет: 12, так как обертка свойства ограничивает значение до 12
В этом примере TwelveOrLess
— это обертка свойства. Она предоставляет логику для чтения и записи свойства number
в структуре MyStruct
. Обертка ограничивает значение свойства до 12.
Property wrappers позволяют сделать код более выразительным и упрощают управление свойствами с дополнительной логикой.