Foil — легковесная обертка свойств для UserDefaults, «сделанная по уму». Упрощает работу с локальным хранилищем и упрощает наблюдение за переменными.
Пример использования:
final class AppSettings { static let shared = AppSettings() @FoilDefaultStorage(key: "flagEnabled") var flagEnabled = true @FoilDefaultStorage(key: "totalCount") var totalCount = 0 @FoilDefaultStorageOptional(key: "timestamp") var timestamp: Date? } // Usage func userDidToggleSetting(_ sender: UISwitch) { AppSettings.shared.flagEnabled = sender.isOn }