KMSignatureManager.swift 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // KMSignatureManager.swift
  3. // PDF Master
  4. //
  5. // Created by lizhe on 2023/10/9.
  6. //
  7. import Foundation
  8. @objcMembers class KMSignatureManager: NSObject {
  9. var signatureList: [KMSignature] = []
  10. override init() {
  11. signatureList = []
  12. }
  13. @objc func loadAllSignatureList() {
  14. signatureList.removeAll()
  15. if let fileDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
  16. let filePath = fileDirectory.appendingPathComponent("CPDFOfficeSignatureList")
  17. if FileManager.default.fileExists(atPath: filePath.path) {
  18. NSKeyedUnarchiver.setClass(KMSignature.self, forClassName: "KMSignature")
  19. if let array = NSKeyedUnarchiver.unarchiveObject(withFile: filePath.path) as? [KMSignature] {
  20. signatureList = array
  21. }
  22. }
  23. }
  24. }
  25. func removeAllObject() {
  26. signatureList.removeAll()
  27. }
  28. func removeObject(index: Int) {
  29. signatureList.remove(at: index)
  30. }
  31. @objc func addSignature(_ signature: KMSignature) {
  32. signatureList.append(signature)
  33. }
  34. @objc func saveSingaturesToFile() {
  35. if let fileDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
  36. let filePath = fileDirectory.appendingPathComponent("CPDFOfficeSignatureList")
  37. NSKeyedArchiver.archiveRootObject(signatureList, toFile: filePath.path)
  38. }
  39. }
  40. }