CodableDefaults

Micro library for UserDefaults with Codable.
Requirements
CodableDefaults is written Swift 4.
Usage
CodableDefaults provides easy to use, and type safety. It supports Codable types in Swift standard library and Foundation.
let userID = DefaultStore<String>(forKey: "user ID")
userID.set("your ID") // sets to the UserDefaults.standard
userID.set(10) // ❗️compile error
userID.get() // -> "your ID"
Custom Type
Just conform to the Codable:
struct User: Codable {
var name: String
var following: [User]
}
then:
let friend = User(name: "Friend", following: [])
let you = User(name: "You", following: [friend])
let user = DefaultStore<User>(forKey: "user")
user.set(you)
user.get() // -> User(name: "You", following: [friend])
Initial value
Use initializer wrapping register(defaults:)
.
let shouldShowThumbnail = DefaultStore<Bool>(forKey: “shouldShowThumbnail”, defaultValue: true)
shouldShowThumbnail.get() // -> true
With specified suite name
Init with UserDefaults
instance.
let defaults = UserDefaults(suiteName: “domain name”)
let numbers = DefaultStore<[Int]>(forKey: “numbers”, userDefaults: defaults)
Installation
Insert to your Cartfile:
github "mt-hodaka/CodableDefaults"
Insert to your Podfile:
pod 'CodableDefaults'
CodableDefaults
Micro library for UserDefaults with Codable.
Requirements
CodableDefaults is written Swift 4.
Usage
CodableDefaults provides easy to use, and type safety. It supports Codable types in Swift standard library and Foundation.
Custom Type
Just conform to the Codable:
then:
Initial value
Use initializer wrapping
register(defaults:)
.With specified suite name
Init with
UserDefaults
instance.Installation
Carthage
Insert to your Cartfile:
CocoaPods
Insert to your Podfile: