Contents

mt-hodaka/codabledefaults

Micro library for UserDefaults with [Codable](https://developer.apple.com/documentation/swift/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

Carthage

Insert to your Cartfile:

github "mt-hodaka/CodableDefaults"

CocoaPods

Insert to your Podfile:

pod 'CodableDefaults'

Package Metadata

Repository: mt-hodaka/codabledefaults

Default branch: master

README: README.md