Во многих ситуациях вы можете использовать встроенный класс преобразования TransformOf
, чтобы быстро выполнить желаемое преобразование. TransformOf
инициализируется двумя типами и двумя замыканиями. Типы определяют, во что преобразуется преобразование, и замыкания выполняют фактическое преобразование.
Например, если вы хотите преобразовать значение JSON String в Int, вы можете использовать TransformOf
следующим образом:
let transform = TransformOf<Int, String>(fromJSON: { (value: String?) -> Int? in
// transform value from String? to Int?
return Int(value!)
}, toJSON: { (value: Int?) -> String? in
// transform value from Int? to String?
if let value = value {
return String(value)
}
return nil
})
id <- (map["port"], transform)
Вот более сжатая версия вышеупомянутого:
id <- (map["port"], TransformOf<Int, String>(fromJSON: { Int($0!) }, toJSON: { $0.map { String($0) } }))
Я надеюсь, что вы можете найти решение из этого.
Решение получено от: https://github.com/Hearst-DD/ObjectMapper