Раньше я везде копировал и вставлял один и тот же код валидации.
Каждый раз, когда мне нужно было ограничить значение от 0 до 100, я писал один и тот же геттер и сеттер. Каждый раз, когда я хотел сохранить что-то в UserDefaults, — один и тот же шаблонный код. Каждый раз, когда мне нужен был потокобезопасный доступ, — одна и та же процедура блокировки/разблокировки.
Затем я открыл для себя обертки свойств и почувствовал себя по-настоящему глупым, что не изучил их раньше.
Обертки свойств позволяют вынести эту повторяющуюся логику свойств в многоразовый компонент. Напишите один раз, используйте везде. Синтаксис чистый, цель понятна, и ваш код значительно сокращается.
SwiftUI использует их повсюду.
@State, @Binding, @Published, @Environment. Вы все это время использовали обертки свойств. Но вот в чем дело: вы можете создать свои собственные. И как только вы это научитесь это делать, вы будете удивляться, как вы вообще жили без них.Статья: https://apptractor.ru/info/articles/swift-property-wrappers.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
