Ребят подскажите, это нормальная практика, когда сервера приходит поле, которое может быть Int, может String, а может быть и Bool типа?
enum StringOrDouble: Decodable {
case string(String)
case double(Double)
init(from decoder: Decoder) throws {
if let double = try? decoder.singleValueContainer().decode(Double.self) {
self = .double(double)
return
}
if let string = try? decoder.singleValueContainer().decode(String.self) {
self = .string(string)
return
}
throw Error.couldNotFindStringOrInt
}
enum Error: Swift.Error {
case couldNotFindStringOrInt
}
}