TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.18K subscribers
Post #4230 390
Обертки свойств в Swift: сокращаем шаблонный код

Раньше я везде копировал и вставлял один и тот же код валидации.

Каждый раз, когда мне нужно было ограничить значение от 0 до 100, я писал один и тот же геттер и сеттер. Каждый раз, когда я хотел сохранить что-то в UserDefaults, — один и тот же шаблонный код. Каждый раз, когда мне нужен был потокобезопасный доступ, — одна и та же процедура блокировки/разблокировки.

Затем я открыл для себя обертки свойств и почувствовал себя по-настоящему глупым, что не изучил их раньше.

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

SwiftUI использует их повсюду. @State, @Binding, @Published, @Environment. Вы все это время использовали обертки свойств. Но вот в чем дело: вы можете создать свои собственные. И как только вы это научитесь это делать, вы будете удивляться, как вы вообще жили без них.

Статья: https://apptractor.ru/info/articles/swift-property-wrappers.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
More from @applib
  1. Oct 9, 2026Как использование нейросетей изменило игровую индустрию и homebrew-cцену Игровая индустрия…
  2. Oct 9, 2026📺 Видео и подкасты за неделю • (iOS En) Pinterest Context Menu Using SwiftUI • (iOS En) C…
  3. Oct 9, 2026Spock ADB - отладка Android-приложений без выхода из IDE Анализируйте, управляйте и отлажи…
  4. Oct 8, 2026Игра на Kotlin, Jetpack Compose и Filament: что сработало, а что нет Начиналось всё как не…
  5. Oct 8, 2026Redlamp - фото-редактор для Mac, iPad и iPhone Нативный RAW фото-редактор с открытым исход…
  6. Oct 8, 2026Экран перестал обновляться, и виноват оказался не ваш код Экран получил первое состояние и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →