CollectUnitData.swift 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // CollectUnitData.swift
  3. // O2Platform
  4. //
  5. // Created by 刘振兴 on 16/6/28.
  6. // Copyright © 2016年 zoneland. All rights reserved.
  7. //
  8. import Foundation
  9. import ObjectMapper
  10. class CollectUnitData:NSObject,NSCoding,Mappable{
  11. var id:String?
  12. var pinyin:String?
  13. var pinyinInitial:String?
  14. var name:String?//公司名称
  15. var centerHost:String?//对应服务端host 如 dev.platform.tech
  16. var centerContext:String = "jaxrs/distribute/webserver/assemble" //对应的服务端上下文 如 x_program_center
  17. var centerPort:Int? //对应的服务器port 如30080
  18. static let DocumentsDirectory = FileManager().urls(for: .documentDirectory, in: .userDomainMask).first!
  19. static let ArchiveURL = DocumentsDirectory.appendingPathComponent("CollectionUnitData")
  20. struct PropertyKey {
  21. static let idKey = "id"
  22. static let pinyinKey = "pinyin"
  23. static let pinyinInitialKey = "pinyinInitial"
  24. static let nameKey = "name"
  25. static let centerHostKey = "centerHost"
  26. static let centerContextKey = "centerContext"
  27. static let centerPortKey = "centerPort"
  28. }
  29. override init() {
  30. }
  31. required init?(map: Map) {
  32. }
  33. func mapping(map: Map) {
  34. id <- map["id"]
  35. pinyin <- map["pinyin"]
  36. pinyinInitial <- map["pinyinInitial"]
  37. name <- map["name"]
  38. centerHost <- map["centerHost"]
  39. centerContext <- map["centerContext"]
  40. centerPort <- map["centerPort"]
  41. }
  42. init?(id:String?,pinyin:String?,pinyinInitial:String?,name:String?,centerHost:String?,centerContext:String,centerPort:Int?){
  43. self.id = id
  44. self.pinyinInitial = pinyinInitial
  45. self.pinyin = pinyin
  46. self.name = name
  47. self.centerHost = centerHost
  48. self.centerContext = centerContext
  49. self.centerPort = centerPort
  50. }
  51. required convenience init?(coder aDecoder: NSCoder) {
  52. let id = aDecoder.decodeObject(forKey: PropertyKey.idKey) as! String
  53. let pinyin = aDecoder.decodeObject(forKey: PropertyKey.pinyinKey) as! String
  54. let pinyinInitial = aDecoder.decodeObject(forKey: PropertyKey.pinyinInitialKey) as! String
  55. let name = aDecoder.decodeObject(forKey: PropertyKey.nameKey) as! String
  56. let centerHost = aDecoder.decodeObject(forKey: PropertyKey.centerHostKey) as! String
  57. let centerContext = aDecoder.decodeObject(forKey: PropertyKey.centerContextKey) as! String
  58. let centerPort = aDecoder.decodeObject(forKey: PropertyKey.centerPortKey) as! Int
  59. self.init(id:id,pinyin:pinyin,pinyinInitial:pinyinInitial,name:name,centerHost:centerHost,centerContext:centerContext,centerPort:centerPort)
  60. }
  61. func encode(with aCoder: NSCoder) {
  62. aCoder.encode(id,forKey:PropertyKey.idKey)
  63. aCoder.encode(pinyin,forKey: PropertyKey.pinyinKey)
  64. aCoder.encode(pinyinInitial,forKey: PropertyKey.pinyinInitialKey)
  65. aCoder.encode(name,forKey: PropertyKey.nameKey)
  66. aCoder.encode(centerHost,forKey:PropertyKey.centerHostKey)
  67. aCoder.encode(centerContext,forKey: PropertyKey.centerContextKey)
  68. aCoder.encode(centerPort,forKey: PropertyKey.centerPortKey)
  69. }
  70. static func saveCollectUnitData(_ unitData:CollectUnitData){
  71. let saveData = NSKeyedArchiver.archiveRootObject(unitData, toFile:CollectUnitData.ArchiveURL.path)
  72. if !saveData {
  73. print("save Collect Unit Data Fail")
  74. }
  75. }
  76. static func currentCollectUnitData() -> CollectUnitData? {
  77. return NSKeyedUnarchiver.unarchiveObject(withFile: CollectUnitData.ArchiveURL.path) as? CollectUnitData
  78. }
  79. }