Browse Source

【OCToSwift】KMSignature KMSignatureManager 旧数据兼容

lizhe 1 year ago
parent
commit
4eca725e43

+ 3 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/Signature/KMSignature.swift

@@ -55,12 +55,12 @@ import Cocoa
         if let decodedPaths = decoder.decodeObject(forKey: kPathKey) as? [NSBezierPath],
            let decodedColor = decoder.decodeObject(forKey: kColorKey) as? NSColor,
            let decodedImage = decoder.decodeObject(forKey: kImageKey) as? NSImage,
-           let decodedType = decoder.decodeObject(forKey: kTypeKey) as? NSString {
+           let decodedType = decoder.decodeObject(forKey: kTypeKey) as? Int {
 
             paths = decodedPaths
             signatureColor = decodedColor
             pathsImage = decodedImage
-            signatureType = KMPDFSignatureType.init(rawValue: decodedType.integerValue) ?? .text
+            signatureType = KMPDFSignatureType.init(rawValue: decodedType) ?? .text
         }
     }
 
@@ -68,6 +68,6 @@ import Cocoa
         encoder.encode(paths, forKey: kPathKey)
         encoder.encode(signatureColor, forKey: kColorKey)
         encoder.encode(pathsImage, forKey: kImageKey)
-        encoder.encode(signatureType.rawValue.description, forKey: kTypeKey)
+        encoder.encode(signatureType.rawValue, forKey: kTypeKey)
     }
 }

+ 1 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/Signature/KMSignatureManager.swift

@@ -19,6 +19,7 @@ import Foundation
         if let fileDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
             let filePath = fileDirectory.appendingPathComponent("CPDFOfficeSignatureList")
             if FileManager.default.fileExists(atPath: filePath.path) {
+                NSKeyedUnarchiver.setClass(KMSignature.self, forClassName: "KMSignature")
                 if let array = NSKeyedUnarchiver.unarchiveObject(withFile: filePath.path) as? [KMSignature] {
                     signatureList = array
                 }