SingleUserDefaultsStore
open class SingleUserDefaultsStore<Object> where Object : Decodable, Object : Encodable
SingleUserDefaultsStore
offers a convenient way to store a single Codable
object in UserDefaults
.
-
Used to backup and restore content to store.
See moreDeclaration
Swift
public struct Snapshot : Codable
extension SingleUserDefaultsStore.Snapshot: Equatable where Object: Equatable
-
Store’s unique identifier.
Warning: Never use the same identifier for two -or more- different stores.
Declaration
Swift
public let uniqueIdentifier: String
-
JSON encoder to be used for encoding object to be stored.
Declaration
Swift
open var encoder: JSONEncoder
-
JSON decoder to be used to decode the stored object.
Declaration
Swift
open var decoder: JSONDecoder
-
Initialize store with given identifier. O(1)
Warning: Never use the same identifier for two -or more- different stores.
Declaration
Swift
required public init( uniqueIdentifier: String, encoder: JSONEncoder = .init(), decoder: JSONDecoder = .init() )
Parameters
uniqueIdentifier
store’s unique identifier.
encoder
JSON encoder to be used for encoding object to be stored. default is
JSONEncoder()
decoder
JSON decoder to be used to decode the stored object. default is
JSONDecoder()
-
Save object to store. O(1)
Throws
JSON encoding error.Declaration
Swift
public func save(_ object: Object) throws
Parameters
object
object to save.
-
Get object from store. O(1)
Declaration
Swift
public var object: Object? { get }
-
Delete object from store. O(1)
Declaration
Swift
public func delete()
-
Date when the last
Snapshot
was generated.Declaration
Swift
public var lastSnapshotDate: Date? { get }
-
Date when the last
Snapshot
was successfully restored.Declaration
Swift
public var lastRestoreDate: Date? { get }