Browse Source

【fix】【APPCenter】Crash编号:57

tangchao 10 months ago
parent
commit
0f672bee30

+ 6 - 6
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController+Action.swift

@@ -61,17 +61,17 @@ extension KMHomeViewController {
     // MARK: Action
     // MARK: Action
     
     
     @objc func homeToolAction(_ sender: NSButton) -> Void {
     @objc func homeToolAction(_ sender: NSButton) -> Void {
-        if sender == homeButtonVC.button {
+        if sender == homeButtonVC?.button {
             homeToolAction(homeToolState: KMHomeToolState.Home)
             homeToolAction(homeToolState: KMHomeToolState.Home)
-        } else if sender == pdfToolsButtonVC.button {
+        } else if sender == pdfToolsButtonVC?.button {
             homeToolAction(homeToolState: KMHomeToolState.PDFTools)
             homeToolAction(homeToolState: KMHomeToolState.PDFTools)
-        } else if sender == cloudDocumentsButtonVC.button {
+        } else if sender == cloudDocumentsButtonVC?.button {
             homeToolAction(homeToolState: KMHomeToolState.CloudDocuments)
             homeToolAction(homeToolState: KMHomeToolState.CloudDocuments)
-        } else if sender == openPDFButtonVC.button {
+        } else if sender == openPDFButtonVC?.button {
             homeToolAction(homeToolState: KMHomeToolState.OpenPDF)
             homeToolAction(homeToolState: KMHomeToolState.OpenPDF)
-        } else if sender == createPDFButtonVC.button {
+        } else if sender == createPDFButtonVC?.button {
             openSupportPDFButtonAction()
             openSupportPDFButtonAction()
-        } else if sender == createPDFImage.button {
+        } else if sender == createPDFImage?.button {
             homeToolAction(homeToolState: KMHomeToolState.CreatePDF)
             homeToolAction(homeToolState: KMHomeToolState.CreatePDF)
         }
         }
     }
     }

+ 6 - 6
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController+UI.swift

@@ -14,9 +14,9 @@ extension KMHomeViewController {
         rightTopBox.isHidden = true
         rightTopBox.isHidden = true
         rightBottomBox.isHidden = true
         rightBottomBox.isHidden = true
         
         
-        homeButtonVC.state = .Norm
-        pdfToolsButtonVC.state = .Norm
-        cloudDocumentsButtonVC.state = .Norm
+        homeButtonVC?.state = .Norm
+        pdfToolsButtonVC?.state = .Norm
+        cloudDocumentsButtonVC?.state = .Norm
 
 
         switch state {
         switch state {
         case .Home:
         case .Home:
@@ -33,7 +33,7 @@ extension KMHomeViewController {
                 rightTopBoxHeightConstraint.constant = 326 + ScrollerViewWidget
                 rightTopBoxHeightConstraint.constant = 326 + ScrollerViewWidget
             }
             }
             
             
-            homeButtonVC.state = .Sel
+            homeButtonVC?.state = .Sel
             refreshUI()
             refreshUI()
             break
             break
         case .PDFTools:
         case .PDFTools:
@@ -41,7 +41,7 @@ extension KMHomeViewController {
             rightFullBox.contentView = pdfToolsViewController.view
             rightFullBox.contentView = pdfToolsViewController.view
             rightTopBox.contentView = nil
             rightTopBox.contentView = nil
             rightBottomBox.contentView = nil
             rightBottomBox.contentView = nil
-            pdfToolsButtonVC.state = .Sel
+            pdfToolsButtonVC?.state = .Sel
             refreshUI()
             refreshUI()
             break
             break
         case .CloudDocuments:
         case .CloudDocuments:
@@ -50,7 +50,7 @@ extension KMHomeViewController {
             rightTopBox.contentView = nil
             rightTopBox.contentView = nil
             rightBottomBox.contentView = nil
             rightBottomBox.contentView = nil
             
             
-            cloudDocumentsButtonVC.state = .Sel
+            cloudDocumentsButtonVC?.state = .Sel
             refreshUI()
             refreshUI()
             break
             break
         default:
         default:

+ 34 - 34
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift

@@ -82,15 +82,15 @@ import Cocoa
     
     
     var urlToPDFWindowController: KMURLToPDFWindowController?
     var urlToPDFWindowController: KMURLToPDFWindowController?
     
     
-    var openPDFButtonVC: KMDesignButton!
-    var createPDFButtonVC: KMDesignButton!
-    var createPDFImage: KMDesignButton!
-    var createPDFAddButtonVC: KMDesignButton!
-    var homeButtonVC: KMTextImageButtonVC!
-    var pdfToolsButtonVC: KMTextImageButtonVC!
-    var cloudDocumentsButtonVC: KMTextImageButtonVC!
-    var pdfSeriesButtonVC: KMTextImageButtonVC!
-    var pdfOthersButtonVC: KMTextImageButtonVC!
+    var openPDFButtonVC: KMDesignButton?
+    var createPDFButtonVC: KMDesignButton?
+    var createPDFImage: KMDesignButton?
+    var createPDFAddButtonVC: KMDesignButton?
+    var homeButtonVC: KMTextImageButtonVC?
+    var pdfToolsButtonVC: KMTextImageButtonVC?
+    var cloudDocumentsButtonVC: KMTextImageButtonVC?
+    var pdfSeriesButtonVC: KMTextImageButtonVC?
+    var pdfOthersButtonVC: KMTextImageButtonVC?
     var popover: NSPopover?
     var popover: NSPopover?
     var deviceBrowserWC: KMDeviceBrowserWindowController?
     var deviceBrowserWC: KMDeviceBrowserWindowController?
     var progressController: SKProgressController?
     var progressController: SKProgressController?
@@ -98,8 +98,8 @@ import Cocoa
     var timerCounter = 0.0
     var timerCounter = 0.0
     
     
     //AI相关
     //AI相关
-    var aiTipView: AITipIconView!
-    var aiTypeChooseView: AITypeChooseView!
+    var aiTipView: AITipIconView?
+    var aiTypeChooseView: AITypeChooseView?
     
     
     //试用相关
     //试用相关
     var didTrialExpiredLoad: Bool = false
     var didTrialExpiredLoad: Bool = false
@@ -320,15 +320,15 @@ import Cocoa
     func initLocalization() {
     func initLocalization() {
 //        self.favoriteDocumentsLabel.stringValue = NSLocalizedString("Favorite Documents", comment: "")
 //        self.favoriteDocumentsLabel.stringValue = NSLocalizedString("Favorite Documents", comment: "")
         
         
-        homeButtonVC.stringValue = NSLocalizedString("Home", comment: "")
-        pdfToolsButtonVC.stringValue = NSLocalizedString("PDF Tools", comment: "")
-        cloudDocumentsButtonVC.stringValue = NSLocalizedString("Cloud Documents", comment: "")
-        openPDFButtonVC.stringValue = NSLocalizedString("Open File", comment: "")
+        homeButtonVC?.stringValue = NSLocalizedString("Home", comment: "")
+        pdfToolsButtonVC?.stringValue = NSLocalizedString("PDF Tools", comment: "")
+        cloudDocumentsButtonVC?.stringValue = NSLocalizedString("Cloud Documents", comment: "")
+        openPDFButtonVC?.stringValue = NSLocalizedString("Open File", comment: "")
 //        openPDFBox.toolTip = NSLocalizedString("Open PDF", comment: "")
 //        openPDFBox.toolTip = NSLocalizedString("Open PDF", comment: "")
-        createPDFButtonVC.stringValue = NSLocalizedString("Create PDF", comment: "")
+        createPDFButtonVC?.stringValue = NSLocalizedString("Create PDF", comment: "")
 //        createPDFBox.toolTip = NSLocalizedString("Create PDF", comment: "")
 //        createPDFBox.toolTip = NSLocalizedString("Create PDF", comment: "")
-        pdfSeriesButtonVC.stringValue = NSLocalizedString("PDF Pro Series", comment: "")
-        pdfOthersButtonVC.stringValue = NSLocalizedString("Others", comment: "")
+        pdfSeriesButtonVC?.stringValue = NSLocalizedString("PDF Pro Series", comment: "")
+        pdfOthersButtonVC?.stringValue = NSLocalizedString("Others", comment: "")
     }
     }
     
     
     // MARK: Action
     // MARK: Action
@@ -503,9 +503,9 @@ import Cocoa
     // MARK: Private Methods
     // MARK: Private Methods
 
 
     func refreshUI() -> Void {
     func refreshUI() -> Void {
-        homeButtonVC.updateUI()
-        pdfToolsButtonVC.updateUI()
-        cloudDocumentsButtonVC.updateUI()
+        homeButtonVC?.updateUI()
+        pdfToolsButtonVC?.updateUI()
+        cloudDocumentsButtonVC?.updateUI()
     }
     }
     
     
     func refreshAIUI() -> Void {
     func refreshAIUI() -> Void {
@@ -863,26 +863,26 @@ extension KMHomeViewController {
         NotificationCenter.default.addObserver(self, selector: #selector(aiTipIconViewShowStateChangeNoti), name: NSNotification.Name(rawValue: "kAIIconShowStateChangeNotification"), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(aiTipIconViewShowStateChangeNoti), name: NSNotification.Name(rawValue: "kAIIconShowStateChangeNotification"), object: nil)
         
         
         self.aiTipView = AITipIconView.createFromNib()
         self.aiTipView = AITipIconView.createFromNib()
-        self.aiTipView.clickHandle = { [weak self] view in
+        self.aiTipView?.clickHandle = { [weak self] view in
             self?.showAITypeChooseView()
             self?.showAITypeChooseView()
         }
         }
-        self.aiTipView.rightClickHandle = { [weak self] view in
+        self.aiTipView?.rightClickHandle = { [weak self] view in
             AIInfoManager.default().showAIIcon = false
             AIInfoManager.default().showAIIcon = false
             NotificationCenter.default.post(name: NSNotification.Name(rawValue: "kAIIconShowStateChangeNotification"), object: nil)
             NotificationCenter.default.post(name: NSNotification.Name(rawValue: "kAIIconShowStateChangeNotification"), object: nil)
 
 
         }
         }
-        self.aiTipView.frame = CGRectMake(CGRectGetWidth(self.view.frame)-84, CGRectGetHeight(self.view.frame)-84-100, 72, 72)
-        self.aiTipView.autoresizingMask = [.minXMargin, .minYMargin]
-        self.view.addSubview(self.aiTipView)
+        self.aiTipView?.frame = CGRectMake(CGRectGetWidth(self.view.frame)-84, CGRectGetHeight(self.view.frame)-84-100, 72, 72)
+        self.aiTipView?.autoresizingMask = [.minXMargin, .minYMargin]
+        self.view.addSubview(self.aiTipView!)
 
 
         self.updateAITipViewShowState()
         self.updateAITipViewShowState()
     }
     }
     
     
     func updateAITipViewShowState() {
     func updateAITipViewShowState() {
         if AIInfoManager.default().showAIIcon {
         if AIInfoManager.default().showAIIcon {
-            self.aiTipView.isHidden = false
+            self.aiTipView?.isHidden = false
         } else {
         } else {
-            self.aiTipView.isHidden = true
+            self.aiTipView?.isHidden = true
         }
         }
     }
     }
      
      
@@ -923,7 +923,7 @@ extension KMHomeViewController {
         if self.aiTypeChooseView == nil {
         if self.aiTypeChooseView == nil {
             self.aiTypeChooseView = AITypeChooseView.createFromNib()
             self.aiTypeChooseView = AITypeChooseView.createFromNib()
         }
         }
-        self.aiTypeChooseView.clickHandle = { [weak self] view, type in
+        self.aiTypeChooseView?.clickHandle = { [weak self] view, type in
             DispatchQueue.main.async {
             DispatchQueue.main.async {
                 let windowVC = AIConfigWindowController.currentWC()
                 let windowVC = AIConfigWindowController.currentWC()
                 windowVC.configType = type
                 windowVC.configType = type
@@ -945,17 +945,17 @@ extension KMHomeViewController {
                 windowVC.refreshUI()
                 windowVC.refreshUI()
             }
             }
         }
         }
-        self.aiTypeChooseView.frame = controller.view.bounds
-        self.aiTypeChooseView.autoresizingMask = [.width, .height]
-        controller.view.addSubview(self.aiTypeChooseView)
+        self.aiTypeChooseView?.frame = controller.view.bounds
+        self.aiTypeChooseView?.autoresizingMask = [.width, .height]
+        controller.view.addSubview(self.aiTypeChooseView!)
         
         
         let popover = NSPopover.init()
         let popover = NSPopover.init()
         popover.contentViewController = controller
         popover.contentViewController = controller
         popover.animates = true
         popover.animates = true
         popover.behavior = .transient
         popover.behavior = .transient
-        var rect = self.aiTipView.bounds
+        var rect = self.aiTipView?.bounds ?? .zero
         rect.origin.y += 20
         rect.origin.y += 20
-        popover.show(relativeTo: rect, of: self.aiTipView, preferredEdge: .minY)
+        popover.show(relativeTo: rect, of: self.aiTipView!, preferredEdge: .minY)
 
 
     }
     }