retrolux
retrolux copied to clipboard
NestedTransformer.TypeOfProperty: Optionals Not Supported
They are actually supported, but it's hard to use and confusing.
I evaluated the code and realized why NestedTransformer's code appears to be stupid. tl;dr, delete the
?
fromtypealias TypeOfProperty = NSNumber?
.
class OptionalAnyToOptionalNSNumberTransformer: NestedTransformer {
typealias TypeOfData = Any?
typealias TypeOfProperty = NSNumber? // Should be NSNumber, but most people will put in an optional.
func setter(_ dataValue: Any?, type: Any.Type) throws -> NSNumber {
if let number = dataValue as? NSNumber {
return number
} else if let string = dataValue as? String, let integer = Int(string) {
return NSNumber(integerLiteral: integer)
} else {
throw OptionalAnyToOptionalNSNumberTransformerError.unrecognizedNumber(given: dataValue)
}
}
func getter(_ propertyValue: NSNumber) throws -> Any? {
return propertyValue
}
}