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() // -> trueWith 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