File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import Foundation
33@propertyWrapper public struct UserDefault < Value> where Value: DefaultsValueConvertible {
44 public let key : String
55 public let defaultValue : Value
6+ public private( set) var wasLoadedSuccessfully : Bool
67 public let defaults : UserDefaults
78
89 public var wrappedValue : Value {
@@ -17,7 +18,9 @@ import Foundation
1718 self . key = key
1819 self . defaults = defaults
1920 self . defaultValue = wrappedValue
20- self . wrappedValue = Self . loadValue ( from: defaults, forKey: key) ?? defaultValue
21+ let loaded = Self . loadValue ( from: defaults, forKey: key)
22+ self . wrappedValue = loaded ?? defaultValue
23+ self . wasLoadedSuccessfully = loaded != nil
2124 }
2225
2326 public init ( wrappedValue: Value , _ key: String ) {
@@ -29,7 +32,9 @@ import Foundation
2932 }
3033
3134 public mutating func loadValue( ) {
32- guard let loaded = Self . loadValue ( from: defaults, forKey: key) else { return }
35+ let loaded = Self . loadValue ( from: defaults, forKey: key)
36+ wasLoadedSuccessfully = loaded != nil
37+ guard let loaded else { return }
3338 wrappedValue = loaded
3439 }
3540
You can’t perform that action at this time.
0 commit comments