Advertisement
Guest User

Untitled

a guest
Dec 10th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. //: A UIKit based Playground for presenting user interface
  2.  
  3. import UIKit
  4. import PlaygroundSupport
  5.  
  6.  
  7. public protocol RegistrationEntity {
  8. var source: Int? { get set }
  9. var devId: String? { get set }
  10. }
  11.  
  12. private enum RegistrationKeys: String, CodingKey {
  13. case source
  14. case devId
  15. }
  16.  
  17. extension RegistrationEntity where Self: Encodable {
  18. func encodeRegistrationData(_ encoder: Encoder) throws {
  19. var container = encoder.container(keyedBy: RegistrationKeys.self)
  20. try container.encode(source, forKey: .source)
  21. try container.encode(devId, forKey: .devId)
  22. }
  23. }
  24.  
  25. struct Kekes: Encodable, RegistrationEntity {
  26. var source: Int?
  27. var devId: String?
  28.  
  29. var name: String
  30. var surname: String
  31.  
  32. private enum CodingKeys: String, CodingKey {
  33. case name
  34. case kek = "array"
  35. case kek2 = "surname2"
  36. case test
  37. }
  38.  
  39. func encode(to encoder: Encoder) throws {
  40. var container = encoder.container(keyedBy: CodingKeys.self)
  41.  
  42. try encodeRegistrationData(encoder)
  43.  
  44. try container.encode(surname, forKey: .kek2)
  45. try container.encode(name, forKey: .name)
  46.  
  47. var response = container.nestedContainer(keyedBy: CodingKeys.self, forKey: .kek)
  48.  
  49. try response.encode("qwertyqwerty", forKey: .kek)
  50. }
  51. }
  52.  
  53. var makeLove = Kekes(name: "name", surname: "surname")
  54.  
  55. var jsonData = try! JSONEncoder().encode(makeLove)
  56. let jsonString = String(data: jsonData, encoding: .utf8)!
  57. print(jsonString)
  58.  
  59.  
  60.  
  61.  
  62. struct GenderTest: Encodable {
  63. var gen: GenderType?
  64.  
  65. public func encode(to encoder: Encoder) throws {
  66. var container = encoder.container(keyedBy: CodingKeys.self)
  67.  
  68. try container.encode(gen, forKey: .gen)
  69. }
  70.  
  71. private enum CodingKeys: String, CodingKey {
  72. case gen
  73. }
  74. }
  75.  
  76.  
  77. public enum GenderType: String, Encodable {
  78. case male = "MALE"
  79. case female = "FEMALE"
  80.  
  81. public func encode(to encoder: Encoder) throws {
  82. var container = encoder.container(keyedBy: CodingKeys.self)
  83.  
  84. try container.encode(self.rawValue, forKey: .gender)
  85. }
  86.  
  87. private enum CodingKeys: String, CodingKey {
  88. case gender
  89. }
  90. }
  91.  
  92. var love = GenderTest(gen: .male)
  93.  
  94. var jd = try! JSONEncoder().encode(love)
  95. let str = String(data: jd, encoding: .utf8)!
  96. print(str)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement