PQEditBaseModel.swift 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // PQEditBaseModel.swift
  3. // PQSpeed
  4. //
  5. // Created by ak on 2020/12/19.
  6. // Copyright © 2020 BytesFlow. All rights reserved.
  7. //
  8. import ObjectMapper
  9. import RealmSwift
  10. // 自定义时长转换协议,服务单位为微秒,我们使用 S
  11. let timeTransform = TransformOf<Float64, Float64>(fromJSON: { (value: Float64?) -> Float64? in
  12. // transform value from String? to Int?
  13. (value ?? 0) / 1_000_000
  14. }, toJSON: { (value: Float64?) -> Float64? in
  15. // transform value from Int? to String?
  16. if let value = value {
  17. return value * 1_000_000
  18. }
  19. return nil
  20. })
  21. // 自定义音量转换协议,服务器单位0.0-1.0,我们使用 0-100
  22. let volumeGainTransform = TransformOf<Float64, Float64>(fromJSON: { (value: Float64?) -> Float64? in
  23. BFLog(message: "value is \(value)")
  24. return (value ?? 0.0) * 100.0
  25. }, toJSON: { (value: Float64?) -> Float64? in
  26. if let value = value {
  27. return value / 100.0
  28. }
  29. return nil
  30. })
  31. // 自定义 sectionIndex 转换协议服务器是从 1 开始,我们是从0开始
  32. let sectionIndexTransform = TransformOf<Int, Int>(fromJSON: { (value: Int?) -> Int? in
  33. (value ?? 0) - 1
  34. }, toJSON: { (value: Int?) -> Int? in
  35. if let value = value {
  36. return value + 1
  37. }
  38. return nil
  39. })
  40. class PQEditBaseModel: Object, Mappable {
  41. @objc dynamic var uniqueId: String = getUniqueId(desc: "uniqueId")
  42. func mapping(map _: Map) {}
  43. required convenience init?(map _: Map) {
  44. self.init()
  45. }
  46. override required init() {
  47. super.init()
  48. }
  49. }