@AppStorage — это property wrapper SwiftUI, который обеспечивает бесшовное соединение между твоим view и UserDefaults. Его основная цель — сохранять простые предпочтения пользователя между запусками приложения, одновременно автоматически синхронизируя UI.
Когда сохранённое значение изменяется, SwiftUI автоматически перерисовывает view — не нужно никакого ручного наблюдения или обработки уведомлений. Ключ, который ты предоставляешь, напрямую соответствует ключу UserDefaults:
@AppStorage("isDarkMode") var isDarkMode: Bool = false
Значение по умолчанию используется только когда в UserDefaults ещё нет никакого значения.
@AppStorage нативно поддерживает следующие типы:
StringInt, DoubleBoolDataURLДля пользовательских типов ты можешь реализовать соответствие RawRepresentable (например, для enum'ов, которые используют String или Int в качестве базового типа).
CoreData или решение на основе файловUserDefaults store, передав параметр store, что полезно для App Groups, которые используются между приложением и его расширениями@AppStorage автоматически вызывает перерисовку представлений при изменении значения в UserDefaults, без необходимости в ручном наблюдении или обработке уведомлений.
Новый — ещё не проверен сообществом
Вы