рдирдорд╕реНрддреЗ,
рдореИрдВ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреЗрд╕рди рдореИрдк рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдПрдХ рдорд╛рди (рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ) рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рд╢реВрдиреНрдп рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рдореЗрд░рд╛ рдЬреЗрд╕рди рдирдореВрдирд╛ рд╣реИ:
{"username":"user1","age":3}
рдФрд░ рдпрд╣ рдореЗрд░рд╛ рдХреЛрдб рд╣реИ:
class T1: Mappable {
var username: String?
var age: String?
required init?(map: Map) {
}
// Mappable
func mapping(map: Map) {
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
})
username <- map["username"]
age <- (map["age"], transform)
}
}
рдЪреВрдВрдХрд┐ рдЬреЗрд╕рди "" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ "рдЖрдпреБ" рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдордСрдл рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ "рдЖрдпреБ" рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдореИрдВ "рдЖрдпреБ" рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддрд╛ рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд╛рдж рд╕реЗ рдореИрдВ рджрд╛рдпрд░реЗ рдХрд╛ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдЙрд╕ рдЪрд░ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
рд╡реИрд╕реЗ рднреА, рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЬрдм рдореИрдВ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ:
рдмрд╛рдЗрдирд░реА рдСрдкрд░реЗрдЯрд░ '<-' рдХреЛ 'рд╕реНрдЯреНрд░рд┐рдВрдЧ' рдФрд░ '(рдореИрдк, рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдордСрдл' рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдкрд░реЗрдВрдб рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
)'
рдореИрдВ рдЕрдкрдиреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП TransformOf рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдзрдиреНрдпрд╡рд╛рдж
+1
@ adasoft-dev, рдЖрдк рд╡рд┐рдкрд░реАрдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВред TransformOf
рдХреЛ TransformOf<Object, JSON>
рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ String
рдФрд░ Int
рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
let transform = TransformOf<String, Int>(
fromJSON: { (value: Int?) -> String? in
if let value = value {
return String(value)
} else {
return nil
}
},
toJSON: { (value: String?) -> Int? in
if let value = value {
return Int(value)
} else {
return nil
}
}
)
рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рд╣рдореЗрд╢рд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ int рдкреНрд░рдХрд╛рд░ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдХрднреА-рдХрднреА рдорд╛рди рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрдХреНрд╖рд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЗрд╕рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдорд╛рди рдкреНрд░рдХрд╛рд░ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рдХрдХреНрд╖рд╛ рдореЗрдВ рдкреНрд░рдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@ adasoft-dev, рдЖрдк рд╡рд┐рдкрд░реАрдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
TransformOf
рдХреЛTransformOf<Object, JSON>
рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛString
рдФрд░Int
рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред