File tree 1 file changed +18
-1
lines changed
Sources/ManagedModels/PersistentModel
1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -52,7 +52,7 @@ public extension PersistentModel {
52
52
53
53
// MARK: - Transformable
54
54
public extension PersistentModel {
55
-
55
+
56
56
@inlinable
57
57
func setTransformableValue( forKey key: String , to value: Any ) {
58
58
willChangeValue ( forKey: key) ; defer { didChangeValue ( forKey: key) }
@@ -64,6 +64,23 @@ public extension PersistentModel {
64
64
willAccessValue ( forKey: key) ; defer { didAccessValue ( forKey: key) }
65
65
return primitiveValue ( forKey: key) as! T
66
66
}
67
+
68
+ @inlinable
69
+ func setTransformableValue( forKey key: String , to value: Any ? ) {
70
+ willChangeValue ( forKey: key) ; defer { didChangeValue ( forKey: key) }
71
+ setPrimitiveValue ( value, forKey: key)
72
+ }
73
+
74
+ @inlinable
75
+ func getTransformableValue< T> ( forKey key: String ) -> T
76
+ where T: AnyOptional
77
+ {
78
+ willAccessValue ( forKey: key) ; defer { didAccessValue ( forKey: key) }
79
+ guard let value = primitiveValue ( forKey: key) else {
80
+ return . noneValue
81
+ }
82
+ return ( value as? T ) ?? . noneValue
83
+ }
67
84
}
68
85
69
86
You can’t perform that action at this time.
0 commit comments