Guest User

Untitled

a guest
Dec 6th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. // Базовый класс
  2. class Parameters {
  3.  
  4. var parameters: [String: Any] = [:]
  5.  
  6. /**
  7. Добавить параметр.
  8.  
  9. - parameter parameter: имя параметра;
  10. - parameter value: значение параметра.
  11. */
  12. @discardableResult
  13. open func withParameter(parameter: String, value: Any) -> Self {
  14. self.parameters[parameter] = value
  15. return self
  16. }
  17. }
  18.  
  19. // реализация сереализатора конкртенного типа
  20. final class CityParameters: Parameters {
  21. private enum Key: String {
  22. case id
  23. case name
  24. case mapTypeValue = "map_type"
  25. case center
  26. case currency
  27. }
  28.  
  29. init(city: City) {
  30. super.init()
  31. withParameter(parameter: Key.id.rawValue, value: city.id)
  32. withParameter(parameter: Key.name.rawValue, value: city.name)
  33. withParameter(parameter: Key.mapTypeValue.rawValue, value: city.mapTypeValue)
  34. let center = CoordinateParameters(coordinate: city.center).parameters
  35. withParameter(parameter: Key.center.rawValue, value: center)
  36. withParameter(parameter: Key.currency.rawValue, value: city.currency)
  37. }
  38. }
Add Comment
Please, Sign In to add comment