File tree 1 file changed +7
-2
lines changed
1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import Foundation
3
3
@propertyWrapper public struct UserDefault < Value> where Value: DefaultsValueConvertible {
4
4
public let key : String
5
5
public let defaultValue : Value
6
+ public private( set) var wasLoadedSuccessfully : Bool
6
7
public let defaults : UserDefaults
7
8
8
9
public var wrappedValue : Value {
@@ -17,7 +18,9 @@ import Foundation
17
18
self . key = key
18
19
self . defaults = defaults
19
20
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
21
24
}
22
25
23
26
public init ( wrappedValue: Value , _ key: String ) {
@@ -29,7 +32,9 @@ import Foundation
29
32
}
30
33
31
34
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 }
33
38
wrappedValue = loaded
34
39
}
35
40
You can’t perform that action at this time.
0 commit comments