Micro library for UserDefaults with Codable.
CodableDefaults is written Swift 4.
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"
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])
Use initializer wrapping register(defaults:)
.
let shouldShowThumbnail = DefaultStore<Bool>(forKey: “shouldShowThumbnail”, defaultValue: true)
shouldShowThumbnail.get() // -> true
Init with UserDefaults
instance.
let defaults = UserDefaults(suiteName: “domain name”)
let numbers = DefaultStore<[Int]>(forKey: “numbers”, userDefaults: defaults)
Insert to your Cartfile:
github "mt-hodaka/CodableDefaults"
Insert to your Podfile:
pod 'CodableDefaults'