Назад к вопросам
Яндекс Браузер
Junior — Middle
69
Имел ли практика использования Property Wrapper в своих проектах?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Property Wrapper в Swift — это механизм, позволяющий оборачивать логику доступа к свойствам в отдельный тип, что упрощает повторное использование и улучшает читаемость кода.
В своих проектах я использовал Property Wrappers для управления состоянием, например, @UserDefault для удобной работы с UserDefaults:
@propertyWrapper
struct UserDefault<T> {
let key: String
let defaultValue: T
var wrappedValue: T {
get {
UserDefaults.standard.object(forKey: key) as? T ?? defaultValue
}
set {
UserDefaults.standard.set(newValue, forKey: key)
}
}
}
struct Settings {
@UserDefault(key: "isDarkMode", defaultValue: false)
static var isDarkMode: Bool
}
Это позволяет удобно и безопасно хранить и получать значения из UserDefaults, не дублируя код.