Skip to content
This repository has been archived by the owner on Dec 4, 2024. It is now read-only.

Property wrapper для хранения данных в UserDefaults

License

Notifications You must be signed in to change notification settings

MobileUpLLC/WrappedUserDefaults

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WrappedUserDefaults

Swift5 Platform iOS CocoaPods compatible License: MIT

Вступление

WrappedUserDefaults – это созданный MobileUp инструмент для использования при создании мобильных приложений на платформе iOS. Эта библиотека ускоряет процесс разработки, позволяя автоматически сохранять необходимые данные в UserDefaults без дополнительного кода, и не требует повторения рутинных методов в каждом новом проекте.

Библиотека состоит из двух компонентов: JSONConverter для кодирования/декодирования данных различных типов, и UserDefaultsBackedWrapper для записи/получения данных из локального хранилища.

JSONConverter поддерживает следующие типы конвертации:

  1. Энкодинг
    1. Encodable → Data
    2. JSON → Data
    3. [String: Any] → Data
    4. JsonString(строка с валидными json) → Data
  2. Декодинг
    1. Data → Decodable
    2. JSON → Decodable
    3. [String: Any] → Decodable
    4. Data → [String: Any]
    5. Data → JsonString

В первой версии property wrapper'а поддерживаются примитивы, совместимые с UserDefaults.

Использование

JSONConverter

let encodedData = try JSONConverter.encode(object: testObject)
let decodedData = try JSONConverter.decode(Double.self, data: encodedData)

UserDefaultsBackedWrapper

@UserDefaultsBacked<Int>(key: "keyForInteger", defaultValue: 13)
var backedInteger

Удаление всех кастомных полей из UserDefaults

UserDefaults.standard.clearAll()

About

Property wrapper для хранения данных в UserDefaults

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages