ソースを参照

【综合】unowned关键字代码优化

tangchao 7 ヶ月 前
コミット
cdf1ceca2c
82 ファイル変更544 行追加544 行削除
  1. 24 24
      PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/AINewConfigWindowController.swift
  2. 15 15
      PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIChatView/CollectionViewItems/AIChatStringResultItem.swift
  3. 15 15
      PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIChatView/CollectionViewItems/AIChatTranslateResultItem.swift
  4. 6 6
      PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIHeaderView/AIHeaderView.swift
  5. 3 3
      PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIInfoInputView/AIInfoInputView.swift
  6. 4 4
      PDF Office/PDF Master/Class/AIInfo/AIPurchaseWindowController/AIPurchaseWindowController.swift
  7. 3 3
      PDF Office/PDF Master/Class/AIInfo/AITipIcon/AITipIconView.swift
  8. 16 16
      PDF Office/PDF Master/Class/AIInfo/AITypeChooseView/AITypeChooseView.swift
  9. 9 9
      PDF Office/PDF Master/Class/AIInfo/AIUserInfoController/AIUserInfoController.swift
  10. 1 1
      PDF Office/PDF Master/Class/AIInfo/KMAIRequestServerManager.swift
  11. 3 3
      PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateImageToPDFViewController.swift
  12. 11 11
      PDF Office/PDF Master/Class/Document/KMMainDocument.swift
  13. 5 5
      PDF Office/PDF Master/Class/GuideInfo/Controllers/FunctionGuide/KMAIIconGuideView.swift
  14. 4 4
      PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/KMQucikToolsView.swift
  15. 7 7
      PDF Office/PDF Master/Class/Home/ViewController/KMAIOpenPDFFilesVC.swift
  16. 2 2
      PDF Office/PDF Master/Class/Home/ViewController/KMAIRewritingVC.swift
  17. 18 18
      PDF Office/PDF Master/Class/Home/ViewController/KMAITranslationVC.swift
  18. 21 21
      PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController+Action.swift
  19. 7 7
      PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift
  20. 1 1
      PDF Office/PDF Master/Class/Home/WindowController/HomeQuickToolsWindowController/KMHomeQuickToolsWindowController.swift
  21. 2 2
      PDF Office/PDF Master/Class/Home/WindowController/HomeQuickToolsWindowController/View/KMHomeQuickToolsWindowCollectionViewItem.swift
  22. 5 5
      PDF Office/PDF Master/Class/Home/WindowController/KMAITranslationConfirmWindowController.swift
  23. 6 6
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/ComparativeView/KMComparativeOutlineView.swift
  24. 22 22
      PDF Office/PDF Master/Class/KMLightMember/Controller/Login&Register/KMLoginWindowController.swift
  25. 3 3
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/View/KMSubscribeWaterMarkView.swift
  26. 1 1
      PDF Office/PDF Master/Class/KMLightMember/Controller/VerificationCode/KMVerficationCodeWindowController.swift
  27. 2 2
      PDF Office/PDF Master/Class/KMLightMember/Controller/VerificationCode/View/KMLightMemberAlertView.swift
  28. 6 6
      PDF Office/PDF Master/Class/KMLightMember/Controller/VerificationCode/View/KMVerificationCodeView.swift
  29. 3 3
      PDF Office/PDF Master/Class/KMLightMember/InAppPurchase/Appstore/KMInAppPurchaseManager.swift
  30. 1 1
      PDF Office/PDF Master/Class/KMLightMember/InAppPurchase/DMG/KMDMGPurchaseManager.swift
  31. 6 6
      PDF Office/PDF Master/Class/KMLightMember/Manager/KMLightMemberManager.swift
  32. 1 1
      PDF Office/PDF Master/Class/KMResourceDownload/KMResourceDownloadManager.swift
  33. 9 9
      PDF Office/PDF Master/Class/PDFTools/AddHeaderFooter/VC/KMBatchOperateAddHeaderFooterViewController.swift
  34. 2 2
      PDF Office/PDF Master/Class/PDFTools/AddPassword/New/KMSecurityWindowController.swift
  35. 3 3
      PDF Office/PDF Master/Class/PDFTools/Compare/KMCompareWindowController.swift
  36. 12 12
      PDF Office/PDF Master/Class/PDFTools/Compare/View/KMCompareView.swift
  37. 4 4
      PDF Office/PDF Master/Class/PDFTools/Compress/Controller/KMCompressWIndowControllerNew.swift
  38. 5 5
      PDF Office/PDF Master/Class/PDFTools/Convert/Controller/KMConvertBaseWindowController.swift
  39. 5 5
      PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMConvertWindowController.swift
  40. 5 5
      PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertOCRSettingItemView.swift
  41. 5 5
      PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertSettingView.swift
  42. 2 2
      PDF Office/PDF Master/Class/PDFTools/Crop/KMCropSettingWindowController.swift
  43. 2 2
      PDF Office/PDF Master/Class/PDFTools/KMBookmark/Controller/KMBookmarkController.swift
  44. 7 7
      PDF Office/PDF Master/Class/PDFTools/Merge/MergeNew/View/KMMergeView.swift
  45. 11 11
      PDF Office/PDF Master/Class/PDFTools/PageEdit/Controller/KMPDFEditViewController.swift
  46. 2 2
      PDF Office/PDF Master/Class/PDFTools/PageEdit/Window/KMPDFEditWindowController.swift
  47. 3 3
      PDF Office/PDF Master/Class/PDFTools/PageEdit/Window/KMPageEditInsertCustomPageWindowController.swift
  48. 6 6
      PDF Office/PDF Master/Class/PDFTools/Print/KMPrintWindowController.swift
  49. 2 2
      PDF Office/PDF Master/Class/PDFTools/Print/Presenter/KMPrintPresenter.swift
  50. 2 2
      PDF Office/PDF Master/Class/PDFTools/Print/Presenter/KMPrintPresenter_C.swift
  51. 16 16
      PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/KMPrintChooseView.swift
  52. 12 12
      PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/KMPrintChoosePageSizeView.swift
  53. 2 2
      PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/KMPrintChoosePageSizeMultipageView.swift
  54. 4 4
      PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/KMPrintChoosePageSizePamphletView.swift
  55. 13 13
      PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/KMPrintChoosePageSizePosterView.swift
  56. 15 15
      PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/Size/KMPrintChoosePageSizeSizeView.swift
  57. 2 2
      PDF Office/PDF Master/Class/PDFTools/Print/View/Preview/KMPrintPreviewView.swift
  58. 12 12
      PDF Office/PDF Master/Class/PDFTools/Redact/Controller/KMPDFRedactViewController.swift
  59. 13 13
      PDF Office/PDF Master/Class/PDFTools/Secure/View/KMSecureEncryptPasswordCellView.swift
  60. 2 2
      PDF Office/PDF Master/Class/PDFTools/Tools/KMTextFieldStepperView/KMTextFieldStepperView.swift
  61. 8 8
      PDF Office/PDF Master/Class/PDFTools/Watermark/Controller/KMBatchOperateAddWatermarkViewController.swift
  62. 6 6
      PDF Office/PDF Master/Class/PDFTools/Watermark/Controller/KMWatermarkCollectionViewItem.swift
  63. 12 12
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/Controller/KMNoteOutlineFilterViewController.swift
  64. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMAnnotationView/KMAnnotationOutlineView.swift
  65. 6 6
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMAnnotationView/Views/KMAnnotationOutlineRowView.swift
  66. 7 7
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMAnnotationViewController.swift
  67. 9 9
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/KMBookMarkViewController.swift
  68. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Note.swift
  69. 5 5
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift
  70. 10 10
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Outline/KMOutlineViewController.swift
  71. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/KMSearchViewController.swift
  72. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/Base/KMPDFThumbViewBaseController.swift
  73. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.swift
  74. 3 3
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/KMFillSignShapePanel.swift
  75. 3 3
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/KMFillSignTextPanel.swift
  76. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/StampList/KMAnnotationStampViewController.swift
  77. 11 11
      PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarController.swift
  78. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift
  79. 4 4
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift
  80. 26 26
      PDF Office/PDF Master/Class/Purchase/DMG/KMPurchaseFirstTrialWindowController.swift
  81. 3 3
      PDF Office/PDF Master/Class/Welcome/KMWelcomeWindowController.swift
  82. 8 8
      PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

+ 24 - 24
PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/AINewConfigWindowController.swift

@@ -113,31 +113,31 @@ protocol AIConfigWindowDelegate: AnyObject {
         self.aiChatView.autoresizingMask = [.width, .height]
         self.contendBox.addSubview(self.aiChatView)
   
-        self.aiChatView.chooseConfigHandle = {[unowned self] view, configType in
+        self.aiChatView.chooseConfigHandle = {[weak self] view, configType in
             DispatchQueue.main.async {
-                self.chooseAIFunctionWithType(configType)
+                self?.chooseAIFunctionWithType(configType)
             }
             
         }
         
-        self.aiChatView.cancelAIHandle = {[unowned self] view, chatInfoModel in
+        self.aiChatView.cancelAIHandle = {[weak self] view, chatInfoModel in
             DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.05) {
                 chatInfoModel.chatInfoState = .stateCancel
-                self.aiChatView.reloadData()
+                self?.aiChatView.reloadData()
             }
         }
         
-        self.aiChatView.continueAITranslateHandle = {[unowned self] view, chatInfoModel in
+        self.aiChatView.continueAITranslateHandle = {[weak self] view, chatInfoModel in
             DispatchQueue.main.async {
                 chatInfoModel.chatInfoState = .stateLoading
                 
-                self.aiChatView.reloadData()
+                self?.aiChatView.reloadData()
                 
-                self.continueAiTranslate(chatInfoModel)
+                self?.continueAiTranslate(chatInfoModel)
             }
         }
         
-        self.aiChatView.redoHandle = {[unowned self] view, chatInfoModel in
+        self.aiChatView.redoHandle = {[weak self] view, chatInfoModel in
             DispatchQueue.main.async {
                 let newChatModel = AIChatInfoModel.init()
                 newChatModel.aiConfigType = chatInfoModel.aiConfigType
@@ -150,19 +150,19 @@ protocol AIConfigWindowDelegate: AnyObject {
                 
                 AIChatInfoManager.defaultManager.modelsArrM.append(newChatModel)
                 
-                self.aiChatView.reloadData()
+                self?.aiChatView.reloadData()
                 
                 if newChatModel.aiConfigType == .summarize {
-                    self.aiSummarizeWithModel(newChatModel)
+                    self?.aiSummarizeWithModel(newChatModel)
                     
                 } else if newChatModel.aiConfigType == .reWriting {
-                    self.aiReWritingWithModel(newChatModel)
+                    self?.aiReWritingWithModel(newChatModel)
                     
                 } else if newChatModel.aiConfigType == .proofreading {
-                    self.aiProofreadingWithModel(newChatModel)
+                    self?.aiProofreadingWithModel(newChatModel)
                     
                 } else if newChatModel.aiConfigType == .translate {
-                    self.startAiTranslateWithModel(newChatModel)
+                    self?.startAiTranslateWithModel(newChatModel)
                     
                 }
             }
@@ -237,21 +237,21 @@ protocol AIConfigWindowDelegate: AnyObject {
             
         }
         
-        self.aiInfoInputView.inputFrameUpdateHandle = {[unowned self] view, stringSize in
+        self.aiInfoInputView.inputFrameUpdateHandle = {[weak self] view, stringSize in
             if view.aiConfigType == .summarize {
-                self.inputStringHeight = max(stringSize.height, 40)
+                self?.inputStringHeight = max(stringSize.height, 40)
             } else if view.aiConfigType == .reWriting {
-                self.inputStringHeight = max(stringSize.height, 40)
+                self?.inputStringHeight = max(stringSize.height, 40)
             } else if view.aiConfigType == .proofreading {
-                self.inputStringHeight = max(stringSize.height, 40)
+                self?.inputStringHeight = max(stringSize.height, 40)
             } else if view.aiConfigType == .translate {
                 if view.filePath.isEmpty {
-                    self.inputStringHeight = max(stringSize.height, 40)
+                    self?.inputStringHeight = max(stringSize.height, 40)
                 } else {
-                    self.inputStringHeight = 40
+                    self?.inputStringHeight = 40
                 }
             }
-            self.refreshViewUI()
+            self?.refreshViewUI()
         }
         self.aiInfoInputView.refreshUI()
         
@@ -265,11 +265,11 @@ protocol AIConfigWindowDelegate: AnyObject {
         self.aiTypeItemView.autoresizingMask = [.minXMargin, .maxXMargin, .width, .maxYMargin]
         self.contendBox.addSubview(self.aiTypeItemView)
         
-        self.aiTypeItemView.chooseTypeHandle = {[unowned self] itemView, aiConfigtype in
-            self.chooseAIFunctionWithType(aiConfigtype)
+        self.aiTypeItemView.chooseTypeHandle = {[weak self] itemView, aiConfigtype in
+            self?.chooseAIFunctionWithType(aiConfigtype)
         }
         
-        self.aiTypeItemView.clearHandle = {[unowned self] itemView in
+        self.aiTypeItemView.clearHandle = {[weak self] itemView in
             if AIChatInfoManager.defaultManager.modelsArrM.count < 1 {
                 return
             }
@@ -283,7 +283,7 @@ protocol AIConfigWindowDelegate: AnyObject {
             if response.rawValue == 1000 {
                 DispatchQueue.main.async {
                     AIChatInfoManager.defaultManager.clearData()
-                    self.aiChatView.reloadData()
+                    self?.aiChatView.reloadData()
                 }
             }
         }

+ 15 - 15
PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIChatView/CollectionViewItems/AIChatStringResultItem.swift

@@ -80,50 +80,50 @@ class AIChatStringResultItem: NSCollectionViewItem {
             self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
         }
         
-        self.reWriteBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.reWriteBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_M())
+                    self?.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_M())
                 } else {
-                    self.reWriteBtn.setTitleColor(KMAppearance.KMColor_Interactive_A1())
+                    self?.reWriteBtn.setTitleColor(KMAppearance.KMColor_Interactive_A1())
                 }
             } else {
                 if KMAppearance.isDarkMode() {
-                    self.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_W70())
+                    self?.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_W70())
                 } else {
-                    self.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                    self?.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
                 }
             }
         }
         
-        self.resultCopyBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.resultCopyBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_M())
+                    self?.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_M())
                 } else {
-                    self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Interactive_A1())
+                    self?.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Interactive_A1())
                 }
             } else {
                 if KMAppearance.isDarkMode() {
-                    self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_W70())
+                    self?.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_W70())
                 } else {
-                    self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                    self?.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
                 }
             }
         }
         
-        self.resultSaveBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.resultSaveBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_M())
+                    self?.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_M())
                 } else {
-                    self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
+                    self?.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
                 }
             } else {
                 if KMAppearance.isDarkMode() {
-                    self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_W70())
+                    self?.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_W70())
                 } else {
-                    self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                    self?.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
                 }
             }
         }

+ 15 - 15
PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIChatView/CollectionViewItems/AIChatTranslateResultItem.swift

@@ -126,11 +126,11 @@ class AIChatTranslateResultItem: NSCollectionViewItem {
         self.downloadInView.wantsLayer = true
         self.downloadProgressView.isHidden = true
         
-        self.languageChangeBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.languageChangeBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
-                self.languageChangeBtn.image = NSImage(named: "AIchange_hover")
+                self?.languageChangeBtn.image = NSImage(named: "AIchange_hover")
             } else {
-                self.languageChangeBtn.image = NSImage(named: "AIchange")
+                self?.languageChangeBtn.image = NSImage(named: "AIchange")
             }
         }
         
@@ -180,39 +180,39 @@ class AIChatTranslateResultItem: NSCollectionViewItem {
         self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
         self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
         
-        self.reWriteBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.reWriteBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                    self?.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
                 } else {
-                    self.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
+                    self?.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
                 }
             } else {
-                self.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                self?.reWriteBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
             }
         }
         
-        self.resultCopyBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.resultCopyBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                    self?.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
                 } else {
-                    self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
+                    self?.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
                 }
             } else {
-                self.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                self?.resultCopyBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
             }
         }
         
-        self.resultSaveBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.resultSaveBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                    self?.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
                 } else {
-                    self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
+                    self?.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_M_1())
                 }
             } else {
-                self.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
+                self?.resultSaveBtn.setTitleColor(KMAppearance.KMColor_Layout_H0())
             }
         }
         

+ 6 - 6
PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIHeaderView/AIHeaderView.swift

@@ -76,15 +76,15 @@ class AIHeaderView: NSView, NibLoadable {
             
         }
         
-        controller.guideHandle = {[unowned self] vc in
-            if self.guideWindowVC == nil {
+        controller.guideHandle = {[weak self] vc in
+            if self?.guideWindowVC == nil {
                 let guideWindowVC = KMFunctionGuideWindowController.init(windowNibName: "KMFunctionGuideWindowController")
-                self.guideWindowVC = guideWindowVC
+                self?.guideWindowVC = guideWindowVC
             }
-            self.guideWindowVC.type = .functionMulti
-            self.guideWindowVC.showWindow(nil)
+            self?.guideWindowVC.type = .functionMulti
+            self?.guideWindowVC.showWindow(nil)
             KMFunctionGuideWindowController.setDidShowFor(.functionMultiAIGuide)
-            self.guideWindowVC.window?.orderFront(nil)
+            self?.guideWindowVC.window?.orderFront(nil)
             
         }
         

+ 3 - 3
PDF Office/PDF Master/Class/AIInfo/AIConfigWindowController/Views/AIInfoInputView/AIInfoInputView.swift

@@ -189,11 +189,11 @@ class AIInfoInputView: NSView, NibLoadable, NSTextFieldDelegate, NSTextViewDeleg
         self.chooseCurFileBtn.title = NSLocalizedString("Current File", comment: "")
         self.chooseFileBtn.title = NSLocalizedString("Choose", comment: "")
         
-        self.translateChangeBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.translateChangeBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
-                self.translateChangeBtn.image = NSImage(named: "AIchange_hover")
+                self?.translateChangeBtn.image = NSImage(named: "AIchange_hover")
             } else {
-                self.translateChangeBtn.image = NSImage(named: "AIchange")
+                self?.translateChangeBtn.image = NSImage(named: "AIchange")
             }
         }
         

+ 4 - 4
PDF Office/PDF Master/Class/AIInfo/AIPurchaseWindowController/AIPurchaseWindowController.swift

@@ -82,15 +82,15 @@ class AIPurchaseWindowController: NSWindowController, NSWindowDelegate {
             }
         }
         
-        self.restoreButton.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.restoreButton.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.restoreButton.setTitleColor(NSColor(red: 1, green: 1, blue: 1, alpha: 0.7))
+                    self?.restoreButton.setTitleColor(NSColor(red: 1, green: 1, blue: 1, alpha: 0.7))
                 } else {
-                    self.restoreButton.setTitleColor(NSColor(red: 0, green: 0, blue: 0, alpha: 0.7))
+                    self?.restoreButton.setTitleColor(NSColor(red: 0, green: 0, blue: 0, alpha: 0.7))
                 }
             } else {
-                self.restoreButton.setTitleColor(KMAppearance.KMColor_Layout_H2())
+                self?.restoreButton.setTitleColor(KMAppearance.KMColor_Layout_H2())
             }
         }
         self.privacyButton.mouseMoveCallback = {[weak self] mouseEntered in

+ 3 - 3
PDF Office/PDF Master/Class/AIInfo/AITipIcon/AITipIconView.swift

@@ -29,11 +29,11 @@ import Cocoa
     override func awakeFromNib() {
         super.awakeFromNib()
         
-        self.clickButton.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.clickButton.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
-                self.hoverImage.image = NSImage(named: "pop-btn_hover")
+                self?.hoverImage.image = NSImage(named: "pop-btn_hover")
             } else {
-                self.hoverImage.image = NSImage(named: "pop-btn")
+                self?.hoverImage.image = NSImage(named: "pop-btn")
             }
         }
         

+ 16 - 16
PDF Office/PDF Master/Class/AIInfo/AITypeChooseView/AITypeChooseView.swift

@@ -65,51 +65,51 @@ import Cocoa
         self.aiProofreadingLabel.textColor = KMAppearance.KMColor_Layout_H0()
         self.aiTranslateLabel.textColor = KMAppearance.KMColor_Layout_H0()
         
-        self.aiSummaryBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.aiSummaryBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.aiSummaryLabel.textColor = NSColor(red: 85/255, green: 245/255, blue: 1, alpha: 1)
+                    self?.aiSummaryLabel.textColor = NSColor(red: 85/255, green: 245/255, blue: 1, alpha: 1)
                 } else {
-                    self.aiSummaryLabel.textColor = NSColor(red: 0, green: 209/255, blue: 222/255, alpha: 1)
+                    self?.aiSummaryLabel.textColor = NSColor(red: 0, green: 209/255, blue: 222/255, alpha: 1)
                 }
             } else {
-                self.aiSummaryLabel.textColor = KMAppearance.KMColor_Layout_H0()
+                self?.aiSummaryLabel.textColor = KMAppearance.KMColor_Layout_H0()
             }
         }
         
-        self.aiRewritingBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.aiRewritingBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.aiRewritingLabel.textColor = NSColor(red: 255/255, green: 105/255, blue: 195/255, alpha: 1)
+                    self?.aiRewritingLabel.textColor = NSColor(red: 255/255, green: 105/255, blue: 195/255, alpha: 1)
                 } else {
-                    self.aiRewritingLabel.textColor = NSColor(red: 240/255, green: 28/255, blue: 155/255, alpha: 1)
+                    self?.aiRewritingLabel.textColor = NSColor(red: 240/255, green: 28/255, blue: 155/255, alpha: 1)
                 }
             } else {
-                self.aiRewritingLabel.textColor = KMAppearance.KMColor_Layout_H0()
+                self?.aiRewritingLabel.textColor = KMAppearance.KMColor_Layout_H0()
             }
         }
         
-        self.aiProofreadingBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.aiProofreadingBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.aiProofreadingLabel.textColor = NSColor(red: 194/255, green: 157/255, blue: 1, alpha: 1)
+                    self?.aiProofreadingLabel.textColor = NSColor(red: 194/255, green: 157/255, blue: 1, alpha: 1)
                 } else {
-                    self.aiProofreadingLabel.textColor = NSColor(red: 108/255, green: 28/255, blue: 240/255, alpha: 1)
+                    self?.aiProofreadingLabel.textColor = NSColor(red: 108/255, green: 28/255, blue: 240/255, alpha: 1)
                 }
             } else {
-                self.aiProofreadingLabel.textColor = KMAppearance.KMColor_Layout_H0()
+                self?.aiProofreadingLabel.textColor = KMAppearance.KMColor_Layout_H0()
             }
         }
         
-        self.aiTranslateBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.aiTranslateBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
                 if KMAppearance.isDarkMode() {
-                    self.aiTranslateLabel.textColor = NSColor(red: 255/255, green: 152/255, blue: 77/255, alpha: 1)
+                    self?.aiTranslateLabel.textColor = NSColor(red: 255/255, green: 152/255, blue: 77/255, alpha: 1)
                 } else {
-                    self.aiTranslateLabel.textColor = NSColor(red: 240/255, green: 101/255, blue: 0, alpha: 1)
+                    self?.aiTranslateLabel.textColor = NSColor(red: 240/255, green: 101/255, blue: 0, alpha: 1)
                 }
             } else {
-                self.aiTranslateLabel.textColor = KMAppearance.KMColor_Layout_H0()
+                self?.aiTranslateLabel.textColor = KMAppearance.KMColor_Layout_H0()
             }
         }
         

+ 9 - 9
PDF Office/PDF Master/Class/AIInfo/AIUserInfoController/AIUserInfoController.swift

@@ -159,11 +159,11 @@ import Cocoa
         
         self.emptyBuyNowBtn.wantsLayer = true
         self.emptyBuyNowBtn.layer?.backgroundColor = NSColor.clear.cgColor
-        self.emptyBuyNowBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.emptyBuyNowBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
-                self.emptyBuyNowBtn.layer?.backgroundColor = NSColor.white.withAlphaComponent(0.2).cgColor
+                self?.emptyBuyNowBtn.layer?.backgroundColor = NSColor.white.withAlphaComponent(0.2).cgColor
             } else {
-                self.emptyBuyNowBtn.layer?.backgroundColor = NSColor.clear.cgColor
+                self?.emptyBuyNowBtn.layer?.backgroundColor = NSColor.clear.cgColor
             }
         }
         
@@ -176,11 +176,11 @@ import Cocoa
         self.emptyRestoreBtn.title = NSLocalizedString("Enter AI License", comment: "")
         
         self.emptyRestoreBtn.setTitleColor(KMAppearance.KMColor_Interactive_M0())
-        self.emptyRestoreBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.emptyRestoreBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
-                self.emptyRestoreBtn.setTitleColor(KMAppearance.KMColor_Interactive_M1())
+                self?.emptyRestoreBtn.setTitleColor(KMAppearance.KMColor_Interactive_M1())
             } else {
-                self.emptyRestoreBtn.setTitleColor(KMAppearance.KMColor_Interactive_M0())
+                self?.emptyRestoreBtn.setTitleColor(KMAppearance.KMColor_Interactive_M0())
             }
         }
         
@@ -218,11 +218,11 @@ import Cocoa
         
         self.creditBuyNowBtn.wantsLayer = true
         self.creditBuyNowBtn.layer?.backgroundColor = NSColor.clear.cgColor
-        self.creditBuyNowBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.creditBuyNowBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if mouseEntered {
-                self.creditBuyNowBtn.layer?.backgroundColor = NSColor.white.withAlphaComponent(0.2).cgColor
+                self?.creditBuyNowBtn.layer?.backgroundColor = NSColor.white.withAlphaComponent(0.2).cgColor
             } else {
-                self.creditBuyNowBtn.layer?.backgroundColor = NSColor.clear.cgColor
+                self?.creditBuyNowBtn.layer?.backgroundColor = NSColor.clear.cgColor
             }
         }
             

+ 1 - 1
PDF Office/PDF Master/Class/AIInfo/KMAIRequestServerManager.swift

@@ -70,7 +70,7 @@ class ResultWrapper: NSObject {
         if state == .rewrite || state == .correctTypos {  //重写 && 纠错
             aiRewriting(content: content, state: state, complete: complete)
         } else if state == .uploadTranslate || state == .fileTranslate {    // 上传文件 || 文件翻译
-            aiTranslationFileUpload(file: content, complete: { [unowned self] wrapper in
+            aiTranslationFileUpload(file: content, complete: { [weak self] wrapper in
                 let success: Bool = wrapper.success
                 let fileKey = wrapper.content
                 if success {

+ 3 - 3
PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateImageToPDFViewController.swift

@@ -504,10 +504,10 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
                 }
                 
                 if document.isLocked {
-                    KMBaseWindowController.checkPassword(url: url, type: .owner) { [unowned self] success, resultPassword in
+                    KMBaseWindowController.checkPassword(url: url, type: .owner) { [weak self] success, resultPassword in
                         if success {
-                            self.password = password
-                            self.appendTextField.stringValue = url.path
+                            self?.password = resultPassword
+                            self?.appendTextField.stringValue = url.path
                         }
                     }
                 } else {

+ 11 - 11
PDF Office/PDF Master/Class/Document/KMMainDocument.swift

@@ -315,9 +315,9 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
             self._km_saveAs(sender)
             return
         }
-        self._km_saveForWatermark { [unowned self] needSave, _ in
+        self._km_saveForWatermark { [weak self] needSave, _ in
             if (needSave) {
-                self._km_saveAs(sender)
+                self?._km_saveAs(sender)
             }
         }
     }
@@ -418,9 +418,9 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
             self._km_runModalSavePanel(for: saveOperation, delegate: delegate, didSave: didSaveSelector, contextInfo: contextInfo)
             return
         }
-        self._km_saveForWatermark { [unowned self] needSave, _ in
+        self._km_saveForWatermark { [weak self] needSave, _ in
             if (needSave) {
-                self._km_runModalSavePanel(for: saveOperation, delegate: delegate, didSave: didSaveSelector, contextInfo: contextInfo)
+                self?._km_runModalSavePanel(for: saveOperation, delegate: delegate, didSave: didSaveSelector, contextInfo: contextInfo)
             }
         }
     }
@@ -430,11 +430,11 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
             self._km_save(sender)
             return
         }
-        self._km_saveForWatermark { [unowned self] in
-            self.trackEvents()
-        } callback: { [unowned self] needSave, _ in
+        self._km_saveForWatermark { [weak self] in
+            self?.trackEvents()
+        } callback: { [weak self] needSave, _ in
             if (needSave) {
-                self._km_save(sender)
+                self?._km_save(sender)
             }
         }
     }
@@ -457,8 +457,8 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
             return
         }
         
-        self._km_saveForWatermark { [unowned self] in
-            self.trackEvents()
+        self._km_saveForWatermark { [weak self] in
+            self?.trackEvents()
         } callback: { [unowned self] needSave, params in
             if (needSave) {
                 self._km_save(nil)
@@ -875,7 +875,7 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
         }
         
         bookmarkSheetController?.stringValue = self.displayName
-        bookmarkSheetController?.cancelAction = { [unowned self] controller, type in
+        bookmarkSheetController?.cancelAction = { [weak self] controller, type in
             
         }
 //        

+ 5 - 5
PDF Office/PDF Master/Class/GuideInfo/Controllers/FunctionGuide/KMAIIconGuideView.swift

@@ -50,18 +50,18 @@ class KMAIIconGuideView: NSView, NibLoadable {
         self.finishBox.borderWidth = 1
         self.finishBox.cornerRadius = 2
         
-        self.finishBoxBtn.mouseMoveCallback = {[unowned self] mouseEntered in
+        self.finishBoxBtn.mouseMoveCallback = {[weak self] mouseEntered in
             if KMAppearance.isDarkMode() {
                 if mouseEntered {
-                    self.finishBox.fillColor = NSColor(red: 23/255, green: 85/255, blue: 178/255, alpha: 1)
+                    self?.finishBox.fillColor = NSColor(red: 23/255, green: 85/255, blue: 178/255, alpha: 1)
                 } else {
-                    self.finishBox.fillColor = KMAppearance.KMColor_Interactive_A0()
+                    self?.finishBox.fillColor = KMAppearance.KMColor_Interactive_A0()
                 }
             } else {
                 if mouseEntered {
-                    self.finishBox.fillColor = NSColor(red: 39/255, green: 60/255, blue: 98/255, alpha: 1)
+                    self?.finishBox.fillColor = NSColor(red: 39/255, green: 60/255, blue: 98/255, alpha: 1)
                 } else {
-                    self.finishBox.fillColor = NSColor(red: 56/255, green: 100/255, blue: 176/255, alpha: 1)
+                    self?.finishBox.fillColor = NSColor(red: 56/255, green: 100/255, blue: 176/255, alpha: 1)
                 }
             }
             

+ 4 - 4
PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/KMQucikToolsView.swift

@@ -141,14 +141,14 @@ extension KMQucikToolsView: NSCollectionViewDataSource {
         }
         
         view.type = type
-        view.addAction = { [unowned self] view, item in
+        view.addAction = { [weak self] view, item in
             KMBatchQuickActionManager.defaultManager.actionType = .add
-            self.addAction?(view, item)
+            self?.addAction?(view, item)
         }
         
-        view.removeAction = { [unowned self] view, item in
+        view.removeAction = { [weak self] view, item in
             KMBatchQuickActionManager.defaultManager.actionType = .add
-            self.removeAction?(view, item)
+            self?.removeAction?(view, item)
         }
         
         view.downAction = { [unowned self] view, item in

+ 7 - 7
PDF Office/PDF Master/Class/Home/ViewController/KMAIOpenPDFFilesVC.swift

@@ -67,16 +67,16 @@ class KMAIOpenPDFFilesVC: NSViewController {
         self.importFromScannerLabel.font = NSFont.SFProTextRegularFont(16.0)
         self.importFromScannerImageView.image = NSImage(named: "icon_empty_ImportFromScanner")
         
-        self.selectYourFilesBox.moveCallback = { [unowned self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
+        self.selectYourFilesBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
             if mouseEntered {
-                self.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#3F8FF6")
+                self?.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#3F8FF6")
             } else {
-                self.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#1770F4")
+                self?.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#1770F4")
             }
         }
-        self.selectYourFilesBox.downCallback = { [unowned self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
+        self.selectYourFilesBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
             if downEntered {
-                self.openPDFButtonAction()
+                self?.openPDFButtonAction()
             }
         }
 
@@ -487,8 +487,8 @@ class KMAIOpenPDFFilesVC: NSViewController {
     @IBAction func importFromScanner(_ sender: Any) {
         deviceBrowserWC = KMDeviceBrowserWindowController.shared
         deviceBrowserWC!.type = .scanner
-        deviceBrowserWC!.importScannerFileCallback = { [unowned self](url: NSURL) -> Void in
-            openFile(withFilePath: url as URL)
+        deviceBrowserWC!.importScannerFileCallback = { [weak self](url: NSURL) -> Void in
+            self?.openFile(withFilePath: url as URL)
         }
         deviceBrowserWC!.showWindow(NSApp.mainWindow)
     }

+ 2 - 2
PDF Office/PDF Master/Class/Home/ViewController/KMAIRewritingVC.swift

@@ -316,8 +316,8 @@ class KMAIRewritingVC: NSViewController {
 //            progress.message = NSLocalizedString("Error Correcting...", comment: "")
 //        }
 
-        progress.closeBlock = { [unowned self] in
-            self.hiddenProgressWindow()
+        progress.closeBlock = { [weak self] in
+            self?.hiddenProgressWindow()
         }
         
         self.progressController = progress

+ 18 - 18
PDF Office/PDF Master/Class/Home/ViewController/KMAITranslationVC.swift

@@ -79,14 +79,14 @@ class KMAITranslationVC: NSViewController {
         self.languageBox.cornerRadius = 4.0
         self.languageBox.borderColor = NSColor.km_init(hex: "#DFE1E5")
         self.languageImageView.image = NSImage(named: "ic_transtate")
-        self.automaticBox.downCallback = { [unowned self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
+        self.automaticBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
             if downEntered {
-                self.languageAction(true)
+                self?.languageAction(true)
             }
         }
-        self.languageBox.downCallback = { [unowned self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
+        self.languageBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
             if downEntered {
-                self.languageAction(false)
+                self?.languageAction(false)
             }
         }
 
@@ -99,21 +99,21 @@ class KMAITranslationVC: NSViewController {
         self.orDropFileHereLabel.textColor = NSColor.km_init(hex: "#616469")
         self.orDropFileHereLabel.font = NSFont.SFProTextRegularFont(14.0)
         
-        self.selectYourFilesBox.moveCallback = { [unowned self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
+        self.selectYourFilesBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
             if mouseEntered {
-                self.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#3F8FF6")
+                self?.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#3F8FF6")
             } else {
-                self.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#1770F4")
+                self?.selectYourFilesBox.fillColor = NSColor.km_init(hex: "#1770F4")
             }
         }
-        self.selectYourFilesBox.downCallback = { [unowned self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
+        self.selectYourFilesBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
             if downEntered {
                 if !KMLightMemberManager.manager.isLogin() {
                     KMLoginWindowController.show(window: NSApp.mainWindow!)
 
                     return
                 }
-                self._selectFiles()
+                self?._selectFiles()
 //                Task { @MainActor in
 //                    if await (KMLightMemberManager.manager.canPayFunction() == false) {
 //                        let _ = KMSubscribeWaterMarkWindowController.show(window: self.view.window!, type: .aiTranslate) { isSub, _, isClose in
@@ -187,9 +187,9 @@ class KMAITranslationVC: NSViewController {
                         alert.messageText = NSLocalizedString("Processing times may be longer for larger documents. Thank you for your patience.", comment: "")
                         alert.addButton(withTitle: NSLocalizedString("Continue", comment: ""))
                         alert.addButton(withTitle: NSLocalizedString("Cancel", comment: ""))
-                        alert.beginSheetModal(for: self.view.window!) { [unowned self] result in
+                        alert.beginSheetModal(for: self.view.window!) { [weak self] result in
                             if (result == .alertFirstButtonReturn) {
-                                KMRequestServerManager.manager.aiTranslationFileUpload(file: url.path, version: majorVersion as! String) { [unowned self] success, result in
+                                KMRequestServerManager.manager.aiTranslationFileUpload(file: url.path, version: majorVersion as! String) { [weak self] success, result in
         //                                    self.hiddenProgressWindow()
                                     if success {
                                         let result: NSDictionary = result!.result
@@ -198,21 +198,21 @@ class KMAITranslationVC: NSViewController {
                                         let fileName = result["fileName"]
                                         let pageCount = result["pageCount"]
                                         if fileKey != nil {
-                                            self.fileTranslateHandle(fileKey as! String)
+                                            self?.fileTranslateHandle(fileKey as! String)
                                         }
                                     } else {
                                         let result: String = result!.message
 
                                         DispatchQueue.main.async {
-                                            self.hiddenProgressWindow()
-                                            self.errorView.isHidden = false
-                                            self.errorLabel.stringValue = result
+                                            self?.hiddenProgressWindow()
+                                            self?.errorView.isHidden = false
+                                            self?.errorLabel.stringValue = result
                                         }
                                     }
                                 }
                             } else if result == .alertSecondButtonReturn {
                                 DispatchQueue.main.async {
-                                    self.hiddenProgressWindow()
+                                    self?.hiddenProgressWindow()
                                 }
                                 return
                             }
@@ -408,8 +408,8 @@ class KMAITranslationVC: NSViewController {
         progress.progressField.textColor = NSColor.white
         progress.message = NSLocalizedString("Translating...", comment: "")
 
-        progress.closeBlock = { [unowned self] in
-            self.hiddenProgressWindow()
+        progress.closeBlock = { [weak self] in
+            self?.hiddenProgressWindow()
         }
         
         self.progressController = progress

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

@@ -410,8 +410,8 @@ extension KMHomeViewController {
             let alert = NSAlert()
             alert.alertStyle = .critical
             alert.messageText = NSLocalizedString("An error occurred while opening this document. The file is damaged and could not be repaired.", comment: "")
-            alert.beginSheetModal(for: view.window!) { [unowned self] result in
-                self.homeContentView.historyListView.reloadData()
+            alert.beginSheetModal(for: view.window!) { [weak self] result in
+                self?.homeContentView.historyListView.reloadData()
 //                self.historyFileViewController.reloadData()
             }
             return
@@ -468,8 +468,8 @@ extension KMHomeViewController {
                 let alert = NSAlert()
                 alert.alertStyle = .critical
                 alert.messageText = NSLocalizedString("An error occurred while opening this document. The file is damaged and could not be repaired.", comment: "")
-                alert.beginSheetModal(for: view.window!) { [unowned self] result in
-                    self.homeContentView.historyListView.reloadData()
+                alert.beginSheetModal(for: view.window!) { [weak self] result in
+                    self?.homeContentView.historyListView.reloadData()
 //                    self.historyFileViewController.reloadData()
                 }
             }
@@ -700,7 +700,7 @@ extension KMHomeViewController {
             }
             timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerTick), userInfo: nil, repeats: true)
 
-             KMRequestServerManager.manager.aiTranslationFileUpload(file: path, version: majorVersion as! String) { [unowned self] success, result in
+             KMRequestServerManager.manager.aiTranslationFileUpload(file: path, version: majorVersion as! String) { [weak self] success, result in
                  if success {
                      let result: NSDictionary = result!.result
 
@@ -708,15 +708,15 @@ extension KMHomeViewController {
                      let fileName = result["fileName"]
                      let pageCount = result["pageCount"]
                      if fileKey != nil {
-                         self.fileTranslateHandle(fileKey as! String)
+                         self?.fileTranslateHandle(fileKey as! String)
                      }
                  } else {
                      let result: String = result!.message
 
                      DispatchQueue.main.async {
-                         self.hiddenProgressWindow()
-                         self.aiTranslationViewController.errorView.isHidden = false
-                         self.aiTranslationViewController.errorLabel.stringValue = result
+                         self?.hiddenProgressWindow()
+                         self?.aiTranslationViewController.errorView.isHidden = false
+                         self?.aiTranslationViewController.errorLabel.stringValue = result
 
                      }
                  }
@@ -1629,14 +1629,14 @@ extension KMHomeViewController {
 //                        [self savePDFDocument:pdfDocument password:password];
 //                    }
 //                }];
-                windowC.callback = { [unowned self] idx, params in
+                windowC.callback = { [weak self] idx, params in
                     if params.count >= 4 {
                         if let doc = params.first as? CPDFDocument {
 //                            doc.insertWithInsertPages((params[2] as? [CPDFPage]) ?? [], insertPageIndex: params[3] as! Int)
-                            self.savePDFDocument(doc, password: params[1] as? String ?? "")
+                            self?.savePDFDocument(doc, password: params[1] as? String ?? "")
                         }
                     }
-                    self.km_endSheet()
+                    self?.km_endSheet()
                 }
                 self.km_beginSheet(windowC: windowC)
             }
@@ -2110,9 +2110,9 @@ extension KMHomeViewController {
             DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.25) { [unowned self] in
                 let saveController = KMCompareSaveWindow(windowNibName: "KMCompareSaveWindow")
                 self.currentWindowController = saveController
-                saveController.cancelHandle = { [unowned self] controller in
+                saveController.cancelHandle = { [weak self] controller in
                     NSWindow.currentWindow().endSheet(controller.window!)
-                    self.currentWindowController = nil
+                    self?.currentWindowController = nil
                 }
                 
                 saveController.saveHandle = { [unowned self] controller, saveType in
@@ -2174,9 +2174,9 @@ extension KMHomeViewController {
             }
         }
         
-        compareContentController.closeHandle = { [unowned self] controller in
-            self.view.window!.endSheet(controller.window!)
-            self.currentController = nil
+        compareContentController.closeHandle = { [weak self] controller in
+            self?.view.window?.endSheet(controller.window!)
+            self?.currentController = nil
 //            view.removeFromSuperview()
         }
         NSWindow.currentWindow().beginSheet(compareContentController.window!)
@@ -2221,13 +2221,13 @@ extension KMHomeViewController {
         self.currentWindowController = controller
 //        let coveringView = KMCompareCoveringView()
 //        coveringView.pdfDocument = pdfDocument
-        controller.closeHandle = { [unowned self] controller in
+        controller.closeHandle = { [weak self] controller in
 //            view.removeFromSuperview()
-            self.view.window!.endSheet(controller.window!)
-            self.currentController = nil
+            self?.view.window?.endSheet(controller.window!)
+            self?.currentController = nil
         }
         
-        controller.saveHandle = { [unowned self] controller in
+        controller.saveHandle = { [weak self] controller in
             let savePanel = NSSavePanel()
             savePanel.nameFieldStringValue = "untitled"
             savePanel.allowedFileTypes = ["pdf"]

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

@@ -201,19 +201,19 @@ import Cocoa
     }
     
     func initNetworkingData() {
-        KMAdvertisementManager.manager.fetchDataWithResponseObject { [unowned self] data, responseObject, error in
+        KMAdvertisementManager.manager.fetchDataWithResponseObject { [weak self] data, responseObject, error in
             KMPrint("获取广告数据成功")
             if data != nil {
-                advertisementTableView.inputData = data!.recommondContent
-                advertisementTableView.didSelect = { view, item in
+                self?.advertisementTableView.inputData = data!.recommondContent
+                self?.advertisementTableView.didSelect = { view, item in
                     let string = KMAdvertisementModelTransition.transitionLanguage(langeuage: item.linkURL)
                     if string.count != 0  {
                         NSWorkspace.shared.open(URL.init(string: string)!)
                     }
                 }
                 
-                advertisementShowView.inputData = data!.advertisement
-                advertisementShowView.didSelect = { view, item in
+                self?.advertisementShowView.inputData = data!.advertisement
+                self?.advertisementShowView.didSelect = { view, item in
                     let string = KMAdvertisementModelTransition.transitionLanguage(langeuage: item.linkURL)
                     if string.count != 0  {
                         NSWorkspace.shared.open(URL.init(string: string)!)
@@ -252,7 +252,7 @@ import Cocoa
                             KMAdsInfoManager.shareInstance.couponInfo = adsInfo
                         }
                     }
-                    self.checkTrialEndCouponInfo()
+                    self?.checkTrialEndCouponInfo()
                 }
             }
         }
@@ -625,7 +625,7 @@ import Cocoa
         progress.progressField.textColor = NSColor.white
         progress.message = NSLocalizedString("Translating...", comment: "")
 
-        progress.closeBlock = { [unowned self] in
+        progress.closeBlock = { [weak self] in
             
         }
         

+ 1 - 1
PDF Office/PDF Master/Class/Home/WindowController/HomeQuickToolsWindowController/KMHomeQuickToolsWindowController.swift

@@ -34,7 +34,7 @@ class KMHomeQuickToolsWindowController: NSWindowController {
         collectionView.dataChange = { [unowned self] view, showData in
             KMQucikToolsModel.saveShowType(data: showData)
             
-            guard let callBack =  dataChange else { return  }
+            guard let callBack =  self.dataChange else { return  }
             callBack(self)
         }
     }

+ 2 - 2
PDF Office/PDF Master/Class/Home/WindowController/HomeQuickToolsWindowController/View/KMHomeQuickToolsWindowCollectionViewItem.swift

@@ -43,8 +43,8 @@ class KMHomeQuickToolsWindowCollectionViewItem: NSCollectionViewItem {
         self.box.fillColor = NSColor.clear
         self.titleLabel.textColor = KMAppearance.Layout.h2Color()
         
-        self.box.moveCallback = {  [unowned self]  mouseEntered, mouseBox in
-            self.updateState(isHight: mouseEntered)
+        self.box.moveCallback = {  [weak self]  mouseEntered, mouseBox in
+            self?.updateState(isHight: mouseEntered)
         }
     }
     

+ 5 - 5
PDF Office/PDF Master/Class/Home/WindowController/KMAITranslationConfirmWindowController.swift

@@ -188,7 +188,7 @@ class KMAITranslationConfirmWindowController: NSWindowController {
             let infoDictionary = Bundle .main.infoDictionary!
             let majorVersion = infoDictionary["CFBundleShortVersionString"]
 
-            KMRequestServerManager.manager.aiTranslationFileUpload(file: self.filePath, version: majorVersion as! String) { [unowned self] success, result in
+            KMRequestServerManager.manager.aiTranslationFileUpload(file: self.filePath, version: majorVersion as! String) { [weak self] success, result in
                 if success {
                     let result: NSDictionary = result!.result
 
@@ -196,13 +196,13 @@ class KMAITranslationConfirmWindowController: NSWindowController {
                     let fileName = result["fileName"]
                     let pageCount = result["pageCount"]
                     if fileKey != nil {
-                        self.fileTranslateHandle(fileKey as! String)
+                        self?.fileTranslateHandle(fileKey as! String)
                     }
                 } else {
                     let result: String = result!.message
 
                     DispatchQueue.main.async {
-                        self.hiddenProgressWindow()
+                        self?.hiddenProgressWindow()
      
                         let alert = NSAlert()
                         alert.alertStyle = .critical
@@ -284,8 +284,8 @@ class KMAITranslationConfirmWindowController: NSWindowController {
         progress.progressField.textColor = NSColor.white
         progress.message = NSLocalizedString("Translating...", comment: "")
 
-        progress.closeBlock = { [unowned self] in
-            self.hiddenProgressWindow()
+        progress.closeBlock = { [weak self] in
+            self?.hiddenProgressWindow()
         }
         
         self.progressController = progress

+ 6 - 6
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/ComparativeView/KMComparativeOutlineView.swift

@@ -33,16 +33,16 @@ class KMComparativeOutlineView: KMBaseXibView {
     
     override func reloadData() {
         super.reloadData()
-        KMComparativeManager.manager.fetchData { [unowned self] result in
+        KMComparativeManager.manager.fetchData { [weak self] result in
             KMPrint(result)
             if result != nil {
-                self.data = result
-                self.outlineView.reloadData()
+                self?.data = result
+                self?.outlineView.reloadData()
                 
-                for section in self.data!.content! {
+                for section in self?.data?.content ?? [] {
                     section.select = true
                 }
-                self.outlineView.expandItem(nil, expandChildren: true)
+                self?.outlineView.expandItem(nil, expandChildren: true)
             }
         }
     }
@@ -163,7 +163,7 @@ extension KMComparativeOutlineView : NSOutlineViewDataSource,NSOutlineViewDelega
         } else if item is KMComparativeModelSection {
             rowView.section = (item as? KMComparativeModelSection)
         }
-        rowView.mouseDownCallback = { [unowned self] view, event in
+        rowView.mouseDownCallback = { [weak self] view, event in
             if rowView.section != nil {
                 let item = outlineView.selectedRowIndexes.first
                 let expanded = outlineView.isItemExpanded(outlineView.item(atRow: outlineView.selectedRow))

+ 22 - 22
PDF Office/PDF Master/Class/KMLightMember/Controller/Login&Register/KMLoginWindowController.swift

@@ -113,7 +113,7 @@ class KMLoginWindowController: NSWindowController {
         }
 
         //登录界面点击下一步按钮
-        self.loginView.nextAction = { [unowned self] (view, data, sender) in
+        self.loginView.nextAction = { [weak self] (view, data, sender) in
             KMRequestServerManager.manager.verificationEmail(userName: data.email, verifyEmailType: .login) { [weak self] success, result in
                 if success {
                     self?.model.email = data.email
@@ -127,12 +127,12 @@ class KMLoginWindowController: NSWindowController {
         
         //MARK: - 注册界面
         //注册界面点击登录按钮
-        self.registerView.loginAction = { [unowned self] (view, data) in
-            self.logType = .login
+        self.registerView.loginAction = { [weak self] (view, data) in
+            self?.logType = .login
         }
 
         //注册界面点击下一步按钮
-        self.registerView.nextAction = { [unowned self] (view, data, sender) in
+        self.registerView.nextAction = { [weak self] (view, data, sender) in
             KMRequestServerManager.manager.verificationEmail(userName: data.email, verifyEmailType: .register) { [weak self] success, result in
                 if success {
                     self?.verificationCodeView.inputType = .register
@@ -149,27 +149,27 @@ class KMLoginWindowController: NSWindowController {
         }
         
         //注册成功界面点击完成按钮
-        self.registerSuccessView.doneAction = { [unowned self] view in
-            self.closeWindow()
+        self.registerSuccessView.doneAction = { [weak self] view in
+            self?.closeWindow()
             KMPrint("注册成功")
             //跳转订阅比较表
             let _ = KMComparativeTableViewController.show(window: NSApp.mainWindow ?? NSWindow())
         }
         
-        self.registerSuccessView.subscribeAction = { [unowned self] view in
-            self.closeWindow()
+        self.registerSuccessView.subscribeAction = { [weak self] view in
+            self?.closeWindow()
             KMComparativeTableViewController.show(window: NSApp.mainWindow ?? NSWindow())
             KMPrint("注册成功")
         }
         
         //MARK: - 验证码界面
         //验证码界面点击取消按钮
-        self.verificationCodeView.cancelAction = { [unowned self] view in
-            self.logType = view.inputType
+        self.verificationCodeView.cancelAction = { [weak self] view in
+            self?.logType = view.inputType
         }
         
         //验证码界面点击完成按钮
-        self.verificationCodeView.doneAction = { [unowned self] (view, data, sender) in
+        self.verificationCodeView.doneAction = { [weak self] (view, data, sender) in
             if view.inputType == .register {
                 KMRequestServerManager.manager.register(userName: data.email, password: data.password, verifyCode: data.verifyCode) { [weak self] (success, requestData, result) in
                     if success {
@@ -204,7 +204,7 @@ class KMLoginWindowController: NSWindowController {
             }
         }
         
-        self.verificationCodeView.verificationCodeAction = { [unowned self] (view, data, codeString) in
+        self.verificationCodeView.verificationCodeAction = { [weak self] (view, data, codeString) in
             KMRequestServerManager.manager.verificationCode(account: data.email, verifyCode: codeString, verifyCodeType: view.verifyCodeType) { [weak self] success, result in
                 if success {
                     self?.verificationCodeView.updateNetworkingState(complete: true, codeIsTure: true)
@@ -263,7 +263,7 @@ class KMLoginWindowController: NSWindowController {
         
         //MARK: - 输入密码界面
         //登录输入密码界面点击登录按钮
-        self.loginInputPasswordView.loginAction = { [unowned self] (view, data, sender) in
+        self.loginInputPasswordView.loginAction = { [weak self] (view, data, sender) in
             KMRequestServerManager.manager.login(email: data.email, password: data.password) { [weak self] success, requestData, result in
                 if success {
                     KMRequestServerManager.manager.getUserInfo { success, data, error, isLocal in
@@ -288,14 +288,14 @@ class KMLoginWindowController: NSWindowController {
         }
         
         //登录输入密码界面点击忘记密码按钮
-        self.loginInputPasswordView.forgotPasswordAction = { [unowned self] (view, data) in
+        self.loginInputPasswordView.forgotPasswordAction = { [weak self] (view, data) in
 //            KMRequestServerManager.manager.getVerifyCode(verifyCodeType: .resetPassword, email: data.email) { success, result in
 //                if success {
-                    self.verificationCodeView.inputType = .loginInputPassword
-                    self.verificationCodeView.model.email = data.email
-                    self.verificationCodeView.cleanTimer()
-                    self.logType = .verificationCode
-                    self.verificationCodeView.sendVerificationCode()
+                    self?.verificationCodeView.inputType = .loginInputPassword
+                    self?.verificationCodeView.model.email = data.email
+                    self?.verificationCodeView.cleanTimer()
+                    self?.logType = .verificationCode
+                    self?.verificationCodeView.sendVerificationCode()
 //                } else {
 //                    self.loginInputPasswordView.showAlert(result: result)
 //                }
@@ -303,13 +303,13 @@ class KMLoginWindowController: NSWindowController {
         }
         
         //登录输入密码界面点击调整邮箱按钮
-        self.loginInputPasswordView.changeEmailAction = { [unowned self] view in
-            self.logType = .login
+        self.loginInputPasswordView.changeEmailAction = { [weak self] view in
+            self?.logType = .login
         }
         
         //MARK: - 重置密码界面
         //重置密码界面点击完成按钮
-        self.resetPasswordView.doneAction = { [unowned self] (view, data, sender) in
+        self.resetPasswordView.doneAction = { [weak self] (view, data, sender) in
             KMRequestServerManager.manager.resetPassword(account: data.email, firstPassword: data.password, secondPassword: data.rePassword, verifyCode: data.verifyCode) {[weak self] (success, result) in
                 if success {
                     self?.model.email = data.email

+ 3 - 3
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/View/KMSubscribeWaterMarkView.swift

@@ -124,11 +124,11 @@ class KMSubscribeWaterMarkView: KMBaseXibView {
         self.subscribeLabel.textColor = NSColor.km_init(hex: "#FFFFFF")
         self.subscribeLabel.font = NSFont.SFProTextRegularFont(16)
         
-        self.subscribeBox.moveCallback = { [unowned self] mouseEntered, mouseBox in
+        self.subscribeBox.moveCallback = { [weak self] mouseEntered, mouseBox in
             if mouseEntered {
-                self.subscribeView.backgroundColor(NSColor.km_init(hex: "#FFA153"))
+                self?.subscribeView.backgroundColor(NSColor.km_init(hex: "#FFA153"))
             } else {
-                self.subscribeView.backgroundColor(NSColor.km_init(hex: "#FF852E"))
+                self?.subscribeView.backgroundColor(NSColor.km_init(hex: "#FF852E"))
             }
         }
         

+ 1 - 1
PDF Office/PDF Master/Class/KMLightMember/Controller/VerificationCode/KMVerficationCodeWindowController.swift

@@ -63,7 +63,7 @@ class KMVerficationCodeWindowController: NSWindowController {
             verficationCodeMainWindow = nil
         }
         
-        self.verificationCodeView.doneAction = { [unowned self] (view, data , sender) in
+        self.verificationCodeView.doneAction = { [weak self] (view, data , sender) in
             KMPrint("注销")
             KMRequestServerManager.manager.logOff(verifyCode: data.verifyCode, complete: { [weak self] success, result in
                 if self?.verificationCodeView != nil {

+ 2 - 2
PDF Office/PDF Master/Class/KMLightMember/Controller/VerificationCode/View/KMLightMemberAlertView.swift

@@ -71,9 +71,9 @@ class KMLightMemberAlertView: KMBaseXibView {
         // 创建一个新的计时器,延迟 2 秒
         timer = DispatchSource.makeTimerSource()
         timer?.schedule(deadline: .now() + 3, leeway: .milliseconds(10))
-        timer?.setEventHandler(handler: { [unowned self] in
+        timer?.setEventHandler(handler: { [weak self] in
             // 2 秒后执行的代码
-            methodToExecuteAfterDelay()
+            self?.methodToExecuteAfterDelay()
         })
         timer?.resume()
     }

+ 6 - 6
PDF Office/PDF Master/Class/KMLightMember/Controller/VerificationCode/View/KMVerificationCodeView.swift

@@ -134,18 +134,18 @@ class KMVerificationCodeView: KMBaseXibView {
                 textField?.textField.tag = i + 10
                 textField!.textField.alignment = .center
                 textField?.superview?.border(NSColor.km_init(hex: "#DFE1E5"), 1, 2)
-                textField?.textField.onFocus = { [unowned self] in
-                    self.cancelAllTextFieldFouce()
+                textField?.textField.onFocus = { [weak self] in
+                    self?.cancelAllTextFieldFouce()
                     textField?.superview?.border(NSColor.km_init(hex: "#1770F4"), 1, 2)
                 }
                 
-                textField?.textDidEndEditing = { [unowned self] string in
+                textField?.textDidEndEditing = { [weak self] string in
                     textField?.superview?.border(NSColor.km_init(hex: "#DFE1E5"), 1, 2)
                 }
                 
-                textField?.textDidChange = { [unowned self] string in
+                textField?.textDidChange = { [weak self] string in
                     //自动验证验证码
-                    self.autoVerificationCode()
+                    self?.autoVerificationCode()
                     
                     var isNext = true
                     if string == "" {
@@ -166,7 +166,7 @@ class KMVerificationCodeView: KMBaseXibView {
                     }
                 }
                 
-                textField?.textDeleteAction = { [unowned self] string in
+                textField?.textDeleteAction = { [weak self] string in
                     if string == "" {
                         for item in textFieldArray {
                             let t = textField?.textField

+ 3 - 3
PDF Office/PDF Master/Class/KMLightMember/InAppPurchase/Appstore/KMInAppPurchaseManager.swift

@@ -135,11 +135,11 @@ class KMInAppPurchaseManager: NSObject {
                 // 未找到匹配的产品
                 if availableProducts.isEmpty {
                     let tempProductIdentifier = productIdentifier
-                    self.fetchProducts(completion: { [unowned self] isSuccess, products, error in
+                    self.fetchProducts(completion: { [weak self] isSuccess, products, error in
                         if isSuccess {
-                            self.purchaseProduct(productIdentifier: tempProductIdentifier, orderId: orderId, completion: completion)
+                            self?.purchaseProduct(productIdentifier: tempProductIdentifier, orderId: orderId, completion: completion)
                         } else {
-                            self.handleAction(state: .productFailed)
+                            self?.handleAction(state: .productFailed)
                         }
                     })
                 } else {

+ 1 - 1
PDF Office/PDF Master/Class/KMLightMember/InAppPurchase/DMG/KMDMGPurchaseManager.swift

@@ -60,7 +60,7 @@ class KMDMGPurchaseManager: NSObject {
     }
     
     func restorePurchases() {
-        KMRequestServerManager.manager.getUserInfo { [unowned self] success, data, error, isLocal in
+        KMRequestServerManager.manager.getUserInfo { [weak self] success, data, error, isLocal in
             if success {
                 KMPrint("DMG刷新用户信息成功")
                 if KMLightMemberManager.manager.purchaseState == .subscription {

+ 6 - 6
PDF Office/PDF Master/Class/KMLightMember/Manager/KMLightMemberManager.swift

@@ -77,8 +77,8 @@ extension KMLightMemberManager {
         //获取用户信息
         let userInfo = KMLightMemberCache.cache.readData(type: .info)
         if userInfo.count != 0 {
-            KMLightMemberUserInfo.parseData(data: userInfo, needSave: false) { [unowned self] data in
-                self.info = data
+            KMLightMemberUserInfo.parseData(data: userInfo, needSave: false) { [weak self] data in
+                self?.info = data
             }
         } else {
             self.info = KMLightMemberUserInfo()
@@ -86,8 +86,8 @@ extension KMLightMemberManager {
         
         let token = KMLightMemberCache.cache.readData(type: .token)
         if token.count != 0 {
-            KMLightMemberToken.parseData(data: token) { [unowned self] data in
-                self.token = data
+            KMLightMemberToken.parseData(data: token) { [weak self] data in
+                self?.token = data
             }
         } else {
             self.token = KMLightMemberToken()
@@ -99,9 +99,9 @@ extension KMLightMemberManager {
      刷新本地用户数据
      */
     func updateNetworkingUserInfo(completion: @escaping (_ isDidLogout: Bool) -> Void) {
-        KMRequestServerManager.manager.getUserInfo { [unowned self] success, data, error, isLocal in
+        KMRequestServerManager.manager.getUserInfo { [weak self] success, data, error, isLocal in
             if success {
-                self.reloadUserInfo()
+                self?.reloadUserInfo()
                 completion(false)
             } else {
                 if error?.code == 304 {

+ 1 - 1
PDF Office/PDF Master/Class/KMResourceDownload/KMResourceDownloadManager.swift

@@ -45,7 +45,7 @@ class KMResourceDownloadManager: NSObject {
                 self?.downloadTask?.cancel()
                 self?.downloadTask = nil
                 self?.downloadResultBlock?(false, .none)
-                DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.2, execute: { [unowned self] in
+                DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.2, execute: { [weak self] in
                     if self?.reachabilityAlert == nil {
                         self?.reachabilityAlert = NSAlert()
                         self?.reachabilityAlert?.messageText = NSLocalizedString("Network Disconnected", comment: "")

+ 9 - 9
PDF Office/PDF Master/Class/PDFTools/AddHeaderFooter/VC/KMBatchOperateAddHeaderFooterViewController.swift

@@ -311,15 +311,15 @@ class KMBatchOperateAddHeaderFooterViewController: KMBatchOperateBaseViewControl
         windowController.isBates = isBates
         windowController.pdfDocument = cdocument
         
-        windowController.cancelAction = { [unowned self] controller in
-            self.km_endSheet()
+        windowController.cancelAction = { [weak self] controller in
+            self?.km_endSheet()
         }
-        windowController.operateCallBack = { [unowned self] wController, model in
-            self.currentObject = model
-            self.loadData()
-            self.postNotification()
+        windowController.operateCallBack = { [weak self] wController, model in
+            self?.currentObject = model
+            self?.loadData()
+            self?.postNotification()
             let set = NSIndexSet(index: 0)
-            self.tableView.selectRowIndexes(set as IndexSet, byExtendingSelection: false)
+            self?.tableView.selectRowIndexes(set as IndexSet, byExtendingSelection: false)
         }
         self.km_beginSheet(windowC: windowController)
         
@@ -528,8 +528,8 @@ class KMBatchOperateAddHeaderFooterViewController: KMBatchOperateBaseViewControl
         windowController.isBates = isBates
         windowController.pdfDocument = cdocument
         
-        windowController.cancelAction = { [unowned self] controller in
-            self.km_endSheet()
+        windowController.cancelAction = { [weak self] controller in
+            self?.km_endSheet()
         }
         windowController.operateCallBack = { wController, model in
             self.currentObject = model

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/AddPassword/New/KMSecurityWindowController.swift

@@ -52,8 +52,8 @@ class KMSecurityWindowController: KMBaseWindowController {
             }
         }
         
-        securityView.doneAction = { [unowned self] view, model, files in
-            self.setPassword(model: model, files: files)
+        securityView.doneAction = { [weak self] view, model, files in
+            self?.setPassword(model: model, files: files)
         }
     }
 }

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/Compare/KMCompareWindowController.swift

@@ -55,8 +55,8 @@ class KMCompareWindowController: KMBaseWindowController {
             cancelAction?(self)
         }
         
-        compareView.doneAction = { [unowned self] view, config in
-            self.compareAction(config: config)
+        compareView.doneAction = { [weak self] view, config in
+            self?.compareAction(config: config)
         }
     }
     
@@ -263,7 +263,7 @@ extension KMCompareWindowController {
         progress.progressField.textColor = NSColor.white
         progress.message = NSLocalizedString("Comparing documents...", comment: "")
 
-        progress.closeBlock = { [unowned self] in
+        progress.closeBlock = { [weak self] in
             
         }
         

+ 12 - 12
PDF Office/PDF Master/Class/PDFTools/Compare/View/KMCompareView.swift

@@ -171,32 +171,32 @@ class KMCompareView: KMBaseXibView {
         addFileAddImageFramView.wantsLayer = true
         addFileAddImageFramView.layer?.backgroundColor = NSColor.clear.cgColor
         
-        self.compareOldPreviewView.dragSuccessBlock = { [unowned self] filePath in
-            self.updateDocument(filePath: filePath) { fileAttitude in
+        self.compareOldPreviewView.dragSuccessBlock = { [weak self] filePath in
+            self?.updateDocument(filePath: filePath) { fileAttitude in
                 
             }
         }
         
-        self.compareNewPreviewView.dragSuccessBlock = { [unowned self] filePath in
-            self.updateDocument(filePath: filePath, isNew: true) { fileAttitude in
+        self.compareNewPreviewView.dragSuccessBlock = { [weak self] filePath in
+            self?.updateDocument(filePath: filePath, isNew: true) { fileAttitude in
                 
             }
         }
         
-        self.addFileContentView.dragSuccessBlock = { [unowned self] filePath in
-            self.updateDocument(filePath: filePath, isNew: true) { fileAttitude in
+        self.addFileContentView.dragSuccessBlock = { [weak self] filePath in
+            self?.updateDocument(filePath: filePath, isNew: true) { fileAttitude in
                 
             }
         }
         
-        self.addFileAddImageFramView.dragSuccessBlock = { [unowned self] filePath in
-            self.updateDocument(filePath: filePath, isNew: true) { fileAttitude in
+        self.addFileAddImageFramView.dragSuccessBlock = { [weak self] filePath in
+            self?.updateDocument(filePath: filePath, isNew: true) { fileAttitude in
                 
             }
         }
         
-        self.addFileContentView.mouseUpBack = { [unowned self] view in
-            self.chooseFileAction(isNew: true)
+        self.addFileContentView.mouseUpBack = { [weak self] view in
+            self?.chooseFileAction(isNew: true)
         }
         
         KMCompareFilesConfig.defaultConfig.fileNewAttribute.pdfDocument = nil
@@ -782,9 +782,9 @@ extension KMCompareView {
 //                        [[AppSandboxFileAccess fileAccess].bookmarkPersistanceDelegate setBookmarkData:bookmarkData forURL:[NSURL fileURLWithPath:(url.path?:url.absoluteString)]];
 //                    }
                     
-                    self.updateDocument(filePath: filePath, isNew: isNew) { [unowned self] file in
+                    self.updateDocument(filePath: filePath, isNew: isNew) { [weak self] file in
                         if let _ = file {
-                            self.addFilePath(filePath: filePath, isNew: isNew, password: file?.password ?? "")
+                            self?.addFilePath(filePath: filePath, isNew: isNew, password: file?.password ?? "")
                         }
                     }
                 }

+ 4 - 4
PDF Office/PDF Master/Class/PDFTools/Compress/Controller/KMCompressWIndowControllerNew.swift

@@ -52,10 +52,10 @@ class KMCompressWIndowControllerNew: KMBaseWindowController {
 
         // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
         
-        self.compressView.cancelAction = { [unowned self] view in
+        self.compressView.cancelAction = { [weak self] view in
 //            self.closeWindow()
             
-            guard let callBack = itemClick else { return }
+            guard let callBack = self?.itemClick else { return }
             
             callBack()
         }
@@ -71,8 +71,8 @@ class KMCompressWIndowControllerNew: KMBaseWindowController {
             callBack(self, [documentURL])
         }
         
-        self.compressView.compressAction = { [unowned self] view, value in
-            self.compressButtonAction(value: value)
+        self.compressView.compressAction = { [weak self] view, value in
+            self?.compressButtonAction(value: value)
         }
     }
     

+ 5 - 5
PDF Office/PDF Master/Class/PDFTools/Convert/Controller/KMConvertBaseWindowController.swift

@@ -140,18 +140,18 @@ class KMConvertBaseWindowController: KMBaseWindowController {
         view?.km_add_inset_constraint()
         
         view?.currentLanguage = self.getCurrentLanguage()
-        view?.lanugageDidSelected = { [unowned self] value, _ in
+        view?.lanugageDidSelected = { [weak self] value, _ in
             guard let index = value as? Int else {
                 return
             }
             
-            self.saveLanugageSelectedIndex(index: index)
+            self?.saveLanugageSelectedIndex(index: index)
         }
 
-        view?.pageRangeDidChange = { [unowned self] pageRange in
-            self.pageRange = pageRange
+        view?.pageRangeDidChange = { [weak self] pageRange in
+            self?.pageRange = pageRange
             if (pageRange != .custom) {
-                self.updatePreView(pageRange: pageRange)
+                self?.updatePreView(pageRange: pageRange)
             }
         }
         view?.pageRangeDidInputFinishCallback = { [unowned self] string in

+ 5 - 5
PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMConvertWindowController.swift

@@ -123,12 +123,12 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
         if (isLoc) {
             DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.5) {
                 let url = self.pdfDocument?.documentURL
-                KMBaseWindowController.checkPassword(url: url!, type: .owner) { [unowned self] success, resultPassword in
+                KMBaseWindowController.checkPassword(url: url!, type: .owner) { [weak self] success, resultPassword in
                     if success {
-                        self.lockPassword = resultPassword
-                        self.pdfDocument?.unlock(withPassword: resultPassword)
-                        self.currentPage = self.pdfDocument?.page(at: 0)
-                        self.convertType = .Word
+                        self?.lockPassword = resultPassword
+                        self?.pdfDocument?.unlock(withPassword: resultPassword)
+                        self?.currentPage = self?.pdfDocument?.page(at: 0)
+                        self?.convertType = .Word
                     }
                 }
             }

+ 5 - 5
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertOCRSettingItemView.swift

@@ -94,9 +94,9 @@ class KMConvertOCRSettingItemView: KMConvertBaseView {
             alert.informativeText = NSLocalizedString("Using OCR requires downloading additional resource pack. Do you want to continue?", comment: "")
             alert.addButton(withTitle: NSLocalizedString("Yes", comment: ""))
             alert.addButton(withTitle: NSLocalizedString("No", comment: ""))
-            alert.beginSheetModal(for: self.window!) { [unowned self] result in
+            alert.beginSheetModal(for: self.window!) { [weak self] result in
                 if (result == .alertFirstButtonReturn) { /// 取消
-                    self.downLoad()
+                    self?.downLoad()
                 } else if result == .alertSecondButtonReturn {
                     return
                 }
@@ -134,8 +134,8 @@ class KMConvertOCRSettingItemView: KMConvertBaseView {
                 self._checkAction()
                 self.hiddenProgressWindow()
             } else if downloadState == .retry {
-                DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.2, execute: { [unowned self] in
-                    self.downLoad()
+                DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.2, execute: { [weak self] in
+                    self?.downLoad()
                 })
             } else {
                 self.hiddenProgressWindow()
@@ -164,7 +164,7 @@ class KMConvertOCRSettingItemView: KMConvertBaseView {
         progress.progressField.textColor = NSColor.white
         progress.message = NSLocalizedString("Download...", comment: "")
 
-        progress.closeBlock = { [unowned self] in
+        progress.closeBlock = { [weak self] in
 #if VERSION_DMG
             KMResourceDownloadManager.manager.cancelDownload()
 #endif

+ 5 - 5
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertSettingView.swift

@@ -57,8 +57,8 @@ class KMConvertSettingView: KMConvertBaseView {
             if (self._ocrItemView != newValue) {
                 self._ocrItemView = newValue
                 
-                newValue?.lanugageDidSelected = { [unowned self] value, change in
-                    guard let callback = self.lanugageDidSelected else {
+                newValue?.lanugageDidSelected = { [weak self] value, change in
+                    guard let callback = self?.lanugageDidSelected else {
                         return
                     }
                     
@@ -76,10 +76,10 @@ class KMConvertSettingView: KMConvertBaseView {
             if (self._pageRangeItemView != newValue) {
                 self._pageRangeItemView = newValue
                 newValue?.isTextDidEndCallback = true
-                newValue?.itemClick = { [unowned self] index, _ in
-                    self.pageRangeSelectedIndex = index
+                newValue?.itemClick = { [weak self] index, _ in
+                    self?.pageRangeSelectedIndex = index
                     
-                    guard let callback = self.pageRangeDidChange else {
+                    guard let callback = self?.pageRangeDidChange else {
                         return
                     }
                     

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Crop/KMCropSettingWindowController.swift

@@ -41,9 +41,9 @@ class KMCropSettingWindowController: NSWindowController {
         
         pageRangeView?.isTextDidEndCallback = true
         
-        pageRangeView?.itemClick = { [unowned self] index, _ in
+        pageRangeView?.itemClick = { [weak self] index, _ in
             
-            self.pageRangeIndex = index
+            self?.pageRangeIndex = index
         }
         
         pageRangeView?.textDidEndEditingCallback = {

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/KMBookmark/Controller/KMBookmarkController.swift

@@ -60,8 +60,8 @@ class KMBookmarkController: NSWindowController {
         bookmarkOutlineView.outlineView.menu?.delegate = self
         
         bookmarkOutlineView.data = self.bookmarkRoot
-        bookmarkOutlineView.doubleClickAction = { [unowned self] view in
-            self.doubleClickBookmark(nil)
+        bookmarkOutlineView.doubleClickAction = { [weak self] view in
+            self?.doubleClickBookmark(nil)
         }
     }
 

+ 7 - 7
PDF Office/PDF Master/Class/PDFTools/Merge/MergeNew/View/KMMergeView.swift

@@ -93,8 +93,8 @@ class KMMergeView: KMBaseXibView {
         
         boxLabel.textColor = KMAppearance.Layout.h0Color()
         
-        blankView.dragAction = { [unowned self] filePaths in
-            self.addFilePaths(urls: filePaths)
+        blankView.dragAction = { [weak self] filePaths in
+            self?.addFilePaths(urls: filePaths)
         }
         
         blankView.mouseDownAction = { [unowned self] view in
@@ -169,9 +169,9 @@ extension KMMergeView: NSTableViewDataSource {
         }
         myCellView.index = row + 1
         // 配置单元格的显示内容
-        myCellView.removeAction = { [unowned self] view, model in
-            self.files.removeObject(model)
-            self.reloadData()
+        myCellView.removeAction = { [weak self] view, model in
+            self?.files.removeObject(model)
+            self?.reloadData()
         }
         return myCellView
         
@@ -387,8 +387,8 @@ extension KMMergeView {
         }
         
         lockFilesIndex = 0
-        self.openPasswordFile { [unowned self] success, resultPassword in
-            self.reloadData()
+        self.openPasswordFile { [weak self] success, resultPassword in
+            self?.reloadData()
         }
     }
     

+ 11 - 11
PDF Office/PDF Master/Class/PDFTools/PageEdit/Controller/KMPDFEditViewController.swift

@@ -212,12 +212,12 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
                 self.pasteAction()
             }
         }
-        toolBar.pageRangeitemClick = { [unowned self] type in
-            self.km_comboBoxSelectionDidChange(type)
+        toolBar.pageRangeitemClick = { [weak self] type in
+            self?.km_comboBoxSelectionDidChange(type)
         }
-        toolBar.pageRangeValueDidChange = { [unowned self] value, _ in
-            if let data = self.toolBar.pageRangeView {
-                self.km_controlTextDidEndEditing(data)
+        toolBar.pageRangeValueDidChange = { [weak self] value, _ in
+            if let data = self?.toolBar.pageRangeView {
+                self?.km_controlTextDidEndEditing(data)
             }
         }
         
@@ -1440,7 +1440,7 @@ extension KMPDFEditViewController: KMThumbnailViewDelegate {
                     alert.runModal()
                 }
             }
-        } completionBlock: { [unowned self] documents in
+        } completionBlock: { [weak self] documents in
             var insertIndex: Int = indexpath.item
             var pages: Array<CPDFPage> = []
             var indexs = IndexSet()
@@ -1453,7 +1453,7 @@ extension KMPDFEditViewController: KMThumbnailViewDelegate {
                     }
                 }
             }
-            self.insertPages(pages: pages, at: indexs)
+            self?.insertPages(pages: pages, at: indexs)
         }
     }
     
@@ -1510,8 +1510,8 @@ extension KMPDFEditViewController: KMThumbnailViewDelegate {
             cellView.setPage(page: data)
         }
         
-        cellView.doubleClickAction = { [unowned self] _ in
-            guard let callback = self.itemClick else {
+        cellView.doubleClickAction = { [weak self] _ in
+            guard let callback = self?.itemClick else {
                 return
             }
             callback(1, indexpath.item)
@@ -1525,8 +1525,8 @@ extension KMPDFEditViewController: KMThumbnailViewDelegate {
             self.selectPages(indexs: IndexSet.init(integer: indexpath.item))
         }
         
-        cellView.rightMouseDownAction = { [unowned self] _ in
-            self.selectPages(indexs: IndexSet.init(integer: indexpath.item))
+        cellView.rightMouseDownAction = { [weak self] _ in
+            self?.selectPages(indexs: IndexSet.init(integer: indexpath.item))
         }
         
         return cellView

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/PageEdit/Window/KMPDFEditWindowController.swift

@@ -18,8 +18,8 @@ class KMPDFEditWindowController: KMBaseWindowController {
         
         if let document = CPDFDocument(url: URL(fileURLWithPath: filepath)) {
             self._viewController = KMPDFEditViewController(document)
-            self._viewController?.documentEditedCallback = { [unowned self] _ in
-                self._isEdited = true
+            self._viewController?.documentEditedCallback = { [weak self] _ in
+                self?._isEdited = true
             }
         }
     }

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/PageEdit/Window/KMPageEditInsertCustomPageWindowController.swift

@@ -128,11 +128,11 @@ class KMPageEditInsertCustomPageWindowController: KMBaseWindowController {
         }
         
         self.directionBox.contentView = self.directionView
-        self.directionView.itemClick = { [unowned self] index, value in
+        self.directionView.itemClick = { [weak self] index, value in
             if (index == 1) { /// 横向页面
-                self.pageSizeView.changeDirection(isHor: true)
+                self?.pageSizeView.changeDirection(isHor: true)
             } else if (index == 2) { /// 纵向页面
-                self.pageSizeView.changeDirection(isHor: false)
+                self?.pageSizeView.changeDirection(isHor: false)
             }
         }
         

+ 6 - 6
PDF Office/PDF Master/Class/PDFTools/Print/KMPrintWindowController.swift

@@ -116,14 +116,14 @@ class KMPrintWindowController: KMBaseWindowController, NetServiceBrowserDelegate
         self.bottomView.delegate = self
         self.chooseView.delegate = self
         
-        self.settingView.pageSettingChange = { [unowned self] view, model in
-            self.chooseData = model
-            self.presenter.printData = model
+        self.settingView.pageSettingChange = { [weak self] view, model in
+            self?.chooseData = model
+            self?.presenter.printData = model
         }
         
-        self.settingView.printSettingChange = { [unowned self] view, model in
-            self.chooseData = model
-            self.presenter.printData = model
+        self.settingView.printSettingChange = { [weak self] view, model in
+            self?.chooseData = model
+            self?.presenter.printData = model
         }
     }
     

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Print/Presenter/KMPrintPresenter.swift

@@ -107,8 +107,8 @@ extension KMPrintPresenter: KMPrintPresenterDocument {
         let tempDocument = PDFDocument()
         for i in 0..<drawPages.count {
             let page = drawPages[i]
-            page.drawPageBlock = { [unowned self] box, context, pages in
-                self.drawPageToContext(context, page, printModel)
+            page.drawPageBlock = { [weak self] box, context, pages in
+                self?.drawPageToContext(context, page, printModel)
             }
             tempDocument.insert(page, at: i)
         }

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Print/Presenter/KMPrintPresenter_C.swift

@@ -114,9 +114,9 @@ extension KMPrintPresenter_C: KMPrintPresenter_CDocument {
             insertPage.pages = drawPages
             insertPage.data = printModel
             insertPage.setBounds(CGRect(x: 0, y: 0, width: printModel.paper.info.size.width, height: printModel.paper.info.size.height), for: CPDFDisplayBox.mediaBox)
-            insertPage.drawBlock = { [unowned self] box, context, pages, data in
+            insertPage.drawBlock = { [weak self] box, context, pages, data in
                 //绘制page
-                self.drawPageToContext(context: context, pages: pages, data: data)
+                self?.drawPageToContext(context: context, pages: pages, data: data)
             }
             insertPages.append(insertPage)
         }

+ 16 - 16
PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/KMPrintChooseView.swift

@@ -75,13 +75,13 @@ class KMPrintChooseView: KMBaseXibView {
         model.minValue = 1
         model.maxValue = 100
         self.textFieldStepperView.model = model
-        self.textFieldStepperView.valueDidChange = { [unowned self] view, value in
-            self.presenter.pageNumberAction(copies: Int(value)!)
+        self.textFieldStepperView.valueDidChange = { [weak self] view, value in
+            self?.presenter.pageNumberAction(copies: Int(value)!)
         }
         
-        self.choosePageSizeView.dataDidChange = { [unowned self] view, data in
+        self.choosePageSizeView.dataDidChange = { [weak self] view, data in
             //数据传递
-            self.presenter.printDealModelAction(data: data)
+            self?.presenter.printDealModelAction(data: data)
         }
         
         self.printerLabel.stringValue = NSLocalizedString("Print", comment: "") + ":"
@@ -117,48 +117,48 @@ class KMPrintChooseView: KMBaseXibView {
         self.printerButton.stringValue = NSLocalizedString("EPSON L4260 Series", comment: "") + ":"
         self.printerButton.font = NSFont.SFProTextRegularFont(14.0)
         self.printerButton.textColor = NSColor.km_init(hex: "#252629")
-        self.printerButton.mouseDownAction = {[unowned self] (button, itemString) in
-            self.presenter.printerAction(itemString)
+        self.printerButton.mouseDownAction = {[weak self] (button, itemString) in
+            self?.presenter.printerAction(itemString)
         }
         
         self.pageRangeButton.border(NSColor.km_init(hex: "#DFE1E5"), 1, 4)
         self.pageRangeButton.stringValue = NSLocalizedString("All pages", comment: "") + ":"
         self.pageRangeButton.font = NSFont.SFProTextRegularFont(14.0)
         self.pageRangeButton.textColor = NSColor.km_init(hex: "#252629")
-        self.pageRangeButton.mouseDownAction = {[unowned self] (button, itemString) in
-            self.presenter.pageRangeAction(itemString)
+        self.pageRangeButton.mouseDownAction = {[weak self] (button, itemString) in
+            self?.presenter.pageRangeAction(itemString)
         }
         
         self.printDirectionButton.border(NSColor.km_init(hex: "#DFE1E5"), 1, 4)
         self.printDirectionButton.stringValue = NSLocalizedString("Portrait", comment: "") + ":"
         self.printDirectionButton.font = NSFont.SFProTextRegularFont(14.0)
         self.printDirectionButton.textColor = NSColor.km_init(hex: "#252629")
-        self.printDirectionButton.mouseDownAction = {[unowned self] (button, itemString) in
-            self.presenter.printDirectionAction(itemString)
+        self.printDirectionButton.mouseDownAction = {[weak self] (button, itemString) in
+            self?.presenter.printDirectionAction(itemString)
         }
         
         self.printContentButton.border(NSColor.km_init(hex: "#DFE1E5"), 1, 4)
         self.printContentButton.stringValue = NSLocalizedString("Document and Markups", comment: "") + ":"
         self.printContentButton.font = NSFont.SFProTextRegularFont(14.0)
         self.printContentButton.textColor = NSColor.km_init(hex: "#252629")
-        self.printContentButton.mouseDownAction = {[unowned self] (button, itemString) in
-            self.presenter.printContentAction(itemString)
+        self.printContentButton.mouseDownAction = {[weak self] (button, itemString) in
+            self?.presenter.printContentAction(itemString)
         }
         
         self.blackAndWhiteButton.title = NSLocalizedString("Black and white", comment: "")
         self.blackAndWhiteButton.imageName = "btn_checkbox_unsel_on"
         self.blackAndWhiteButton.titleLabel.font = NSFont.SFProTextRegularFont(14.0)
         self.blackAndWhiteButton.titleLabel.textColor = NSColor.km_init(hex: "#252629")
-        self.blackAndWhiteButton.action = { [unowned self] (view, button) in
-            self.presenter.blackAndWhiteAction(button)
+        self.blackAndWhiteButton.action = { [weak self] (view, button) in
+            self?.presenter.blackAndWhiteAction(button)
         }
         
         self.reversePagesButton.title = NSLocalizedString("Reverse pages", comment: "")
         self.reversePagesButton.imageName = "btn_checkbox_unsel_on"
         self.reversePagesButton.titleLabel.font = NSFont.SFProTextRegularFont(14.0)
         self.reversePagesButton.titleLabel.textColor = NSColor.km_init(hex: "#252629")
-        self.reversePagesButton.action = { [unowned self] (view, button) in
-            self.presenter.printReverseAction(button)
+        self.reversePagesButton.action = { [weak self] (view, button) in
+            self?.presenter.printReverseAction(button)
         }
     }
     

+ 12 - 12
PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/KMPrintChoosePageSizeView.swift

@@ -47,24 +47,24 @@ class KMPrintChoosePageSizeView: KMBaseXibView {
     override func setup() {
         super.setup()
         
-        self.sizeView.dataDidChange = { [unowned self] view, data in
-            self.outputData.size = data
-            self.actionReloadData()
+        self.sizeView.dataDidChange = { [weak self] view, data in
+            self?.outputData.size = data
+            self?.actionReloadData()
         }
             
-        self.posterView.dataDidChange = { [unowned self] view, data in
-            self.outputData.poster = data
-            self.actionReloadData()
+        self.posterView.dataDidChange = { [weak self] view, data in
+            self?.outputData.poster = data
+            self?.actionReloadData()
         }
         
-        self.multipageView.dataDidChange = { [unowned self] view, data in
-            self.outputData.multipage = data
-            self.actionReloadData()
+        self.multipageView.dataDidChange = { [weak self] view, data in
+            self?.outputData.multipage = data
+            self?.actionReloadData()
         }
             
-        self.pamphletView.dataDidChange = { [unowned self] view, data in
-            self.outputData.pamphlet = data
-            self.actionReloadData()
+        self.pamphletView.dataDidChange = { [weak self] view, data in
+            self?.outputData.pamphlet = data
+            self?.actionReloadData()
         }
         
         self.titleLabel.stringValue = NSLocalizedString("Page Sizing & Handling", comment: "")

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/KMPrintChoosePageSizeMultipageView.swift

@@ -44,10 +44,10 @@ class KMPrintChoosePageSizeMultipageView: KMBaseXibView {
         self.pageOrderButton.addItems(withTitles: KMPrintPageOperation.Multipage.Order.allValues())
         
         //每页page数量
-        self.pageOfPaperXTextField.textDidEndEditing = { [unowned self] (string) in
+        self.pageOfPaperXTextField.textDidEndEditing = { [weak self] (string) in
 //            self.outputData.pageOfPaper.point.x = CGFloat(Int(string) ?? 0)
         }
-        self.pageOfPaperYTextField.textDidEndEditing = { [unowned self] (string) in
+        self.pageOfPaperYTextField.textDidEndEditing = { [weak self] (string) in
 //            self.outputData.pageOfPaper.point.y = CGFloat(Int(string) ?? 0)
         }
     }

+ 4 - 4
PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/KMPrintChoosePageSizePamphletView.swift

@@ -44,12 +44,12 @@ class KMPrintChoosePageSizePamphletView: KMBaseXibView {
         self.bookbindingButton.removeAllItems()
         self.bookbindingButton.addItems(withTitles: KMPrintPageOperation.Pamphlet.BookbindingType.allValues())
         
-        self.pageTextField.textDidEndEditing = { [unowned self] (string) in
-            self.outputData.pageIndex = Int(string)!
+        self.pageTextField.textDidEndEditing = { [weak self] (string) in
+            self?.outputData.pageIndex = Int(string)!
         }
         
-        self.toPageTextField.textDidEndEditing = { [unowned self] (string) in
-            self.outputData.toPageIndex = Int(string)!
+        self.toPageTextField.textDidEndEditing = { [weak self] (string) in
+            self?.outputData.toPageIndex = Int(string)!
         }
     }
     

+ 13 - 13
PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/KMPrintChoosePageSizePosterView.swift

@@ -53,33 +53,33 @@ class KMPrintChoosePageSizePosterView: KMBaseXibView {
         self.breakUpPageButton.removeAllItems()
         self.breakUpPageButton.addItems(withTitles: KMPrintPageOperation.PageOfPaper.PageType.allValues())
         //每页page数量
-        self.breakUpXTextField.textDidEndEditing = { [unowned self] (string) in
+        self.breakUpXTextField.textDidEndEditing = { [weak self] (string) in
 //            self.outputData.pageOfPaper.point.x = CGFloat(Int(string) ?? 0)
-            self.actionReloadData()
+            self?.actionReloadData()
         }
-        self.breakUpYTextField.textDidEndEditing = { [unowned self] (string) in
+        self.breakUpYTextField.textDidEndEditing = { [weak self] (string) in
 //            self.outputData.pageOfPaper.point.y = CGFloat(Int(string) ?? 0)
-            self.actionReloadData()
+            self?.actionReloadData()
         }
         
-        self.tileScaleTextField.textDidEndEditing = { [unowned self] (string) in
-            self.outputData.scale = CGFloat((Double(string) ?? 100) * 0.01)
-            self.actionReloadData()
+        self.tileScaleTextField.textDidEndEditing = { [weak self] (string) in
+            self?.outputData.scale = CGFloat((Double(string) ?? 100) * 0.01)
+            self?.actionReloadData()
         }
         
         //标签 空格隔开
         self.tagsTextField.onlyNumber = false
         self.tagsTextField.placeholderString = "(column,row)1.pdf 2023-01-09 05:49:54"
-        self.tagsTextField.textDidChange = { [unowned self] (string) in
-            self.outputData.tags = string
+        self.tagsTextField.textDidChange = { [weak self] (string) in
+            self?.outputData.tags = string
 //            self.outputData.tags = string.components(separatedBy: " ")
-            self.actionReloadData()
+            self?.actionReloadData()
         }
         
         //重叠
-        self.overlapTextField.textDidEndEditing = { [unowned self] (string) in
-            self.outputData.overlap = Float(Int(string) ?? 0)
-            self.actionReloadData()
+        self.overlapTextField.textDidEndEditing = { [weak self] (string) in
+            self?.outputData.overlap = Float(Int(string) ?? 0)
+            self?.actionReloadData()
         }
     }
     

+ 15 - 15
PDF Office/PDF Master/Class/PDFTools/Print/View/ChooseView/View/View/DealPaper/Size/KMPrintChoosePageSizeSizeView.swift

@@ -41,36 +41,36 @@ class KMPrintChoosePageSizeSizeView: KMBaseXibView {
         self.textFieldStepperView.minValue = 1
         self.textFieldStepperView.maxValue = 1000
         self.textFieldStepperView.inputTextField.inputType = .percent
-        self.textFieldStepperView.valueDidChange = { [unowned self] (view , value) in
-            self.outputData.scale = CGFloat(Int(value)!) * 0.01
-            self.actionReloadData()
+        self.textFieldStepperView.valueDidChange = { [weak self] (view , value) in
+            self?.outputData.scale = CGFloat(Int(value)!) * 0.01
+            self?.actionReloadData()
         }
         
         self.fitButton.title = NSLocalizedString("Auto adapt", comment: "")
         self.fitButton.imageName = "btn_radio_unsel_on"
-        self.fitButton.action = { [unowned self] (view, button) in
-            self.outputData.model = .auto
-            self.actionReloadData()
+        self.fitButton.action = { [weak self] (view, button) in
+            self?.outputData.model = .auto
+            self?.actionReloadData()
         }
         
         self.originButton.title = NSLocalizedString("Actual size", comment: "")
         self.originButton.imageName = "btn_radio_unsel_on"
-        self.originButton.action = { [unowned self] (view, button) in
-            self.outputData.model = .full
-            self.actionReloadData()
+        self.originButton.action = { [weak self] (view, button) in
+            self?.outputData.model = .full
+            self?.actionReloadData()
         }
         
         self.customButton.title = NSLocalizedString("Custom Scale", comment: "") + ":"
         self.customButton.imageName = "btn_radio_unsel_on"
-        self.customButton.action = { [unowned self] (view, button) in
-            self.outputData.model = .custom
-            self.actionReloadData()
+        self.customButton.action = { [weak self] (view, button) in
+            self?.outputData.model = .custom
+            self?.actionReloadData()
         }
         
         self.duplexPringtingView.backgroundColor(NSColor.km_init(hex: "#F7F8FA"))
-        self.duplexPringtingView.completion = { [unowned self] (view, model) in
-            self.outputData.duplexPrintModel = model
-            self.actionReloadData()
+        self.duplexPringtingView.completion = { [weak self] (view, model) in
+            self?.outputData.duplexPrintModel = model
+            self?.actionReloadData()
         }
     }
     

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Print/View/Preview/KMPrintPreviewView.swift

@@ -111,8 +111,8 @@ class KMPrintPreviewView: KMBaseXibView {
         
         self.currentPageTextField.textField.font = NSFont.SFProTextRegularFont(12.0)
 //        self.currentPageTextField.textField.textColor = NSColor.km_init(hex: "#252629")
-        self.currentPageTextField.textDidEndEditing = {[unowned self] (string) in
-            self.presenter.toPage(index: max((Int(string) ?? 0) - 1, 0))
+        self.currentPageTextField.textDidEndEditing = {[weak self] (string) in
+            self?.presenter.toPage(index: max((Int(string) ?? 0) - 1, 0))
         }
         
 //        self.partitionLabel.textColor = NSColor.km_init(hex: "#252629")

+ 12 - 12
PDF Office/PDF Master/Class/PDFTools/Redact/Controller/KMPDFRedactViewController.swift

@@ -69,12 +69,12 @@ class KMPDFRedactViewController: NSViewController {
         self.redactTextLabel.stringValue = KMLocalizedString("Redact Text", nil)
         self.propertiesLabel.stringValue = KMLocalizedString("Properties", nil)
         
-        self.propertiesButton.mouseMoveCallback = { [unowned self] mouseEntered in
-            self.propertiesBox.layer?.cornerRadius = 6
+        self.propertiesButton.mouseMoveCallback = { [weak self] mouseEntered in
+            self?.propertiesBox.layer?.cornerRadius = 6
             if mouseEntered {
-                self.propertiesBox.fillColor = KMAppearance.Layout.w30Color()
+                self?.propertiesBox.fillColor = KMAppearance.Layout.w30Color()
             } else {
-                self.propertiesBox.fillColor = .clear
+                self?.propertiesBox.fillColor = .clear
             }
         }
         
@@ -92,15 +92,15 @@ class KMPDFRedactViewController: NSViewController {
         self.applyButton.setTitleColor(KMAppearance.Interactive.a0Color())
         self.applyButton.wantsLayer = true
         
-        self.applyBox.downCallback = { [unowned self] downEntered, mouseBox, event in
+        self.applyBox.downCallback = { [weak self] downEntered, mouseBox, event in
             if downEntered {
-                self.apply_button(nil)
+                self?.apply_button(nil)
             }
         }
         
-        self.exitBox.downCallback = { [unowned self] downEntered, mouseBox, event in
+        self.exitBox.downCallback = { [weak self] downEntered, mouseBox, event in
             if downEntered {
-                self.exit_button(nil)
+                self?.exit_button(nil)
             }
         }
 
@@ -228,12 +228,12 @@ class KMPDFRedactViewController: NSViewController {
             properties.readactAnnotation = self.redactPdfView.currentAnnotation
 //            __block KMPDFRedactViewController *weak_self = self;
             self.km_beginSheet(windowC: properties)
-            properties.callback = { [unowned self] annotation in
-                if let page = self.redactPdfView.currentAnnotation?.page {
+            properties.callback = { [weak self] annotation in
+                if let page = self?.redactPdfView.currentAnnotation?.page {
                     if let anno = annotation {
-                        self.redactPdfView.newAddAnnotation.append(anno)
+                        self?.redactPdfView.newAddAnnotation.append(anno)
                     }
-                    self.redactPdfView.setNeedsDisplayAnnotationViewFor(page)
+                    self?.redactPdfView.setNeedsDisplayAnnotationViewFor(page)
                 }
             }
         }

+ 13 - 13
PDF Office/PDF Master/Class/PDFTools/Secure/View/KMSecureEncryptPasswordCellView.swift

@@ -86,26 +86,26 @@ class KMSecureEncryptPasswordCellView: NSTableCellView {
         openPasswordButton.action = #selector(openOrClosePasswordButtonAction)
         self.openOrClosePasswordButton = openPasswordButton
         
-        self.passwordView.valueDidChange = { [unowned self] view, string in
-            self.isFocus = true
-            self.refreshPasswordView(state: .Focus)
+        self.passwordView.valueDidChange = { [weak self] view, string in
+            self?.isFocus = true
+            self?.refreshPasswordView(state: .Focus)
             
-            guard let callback = self.valueChange else {
+            guard let callback = self?.valueChange else {
                 return
             }
             
-            self.updatePasswordViewRightViewState()
+            self?.updatePasswordViewRightViewState()
             callback(string, nil)
         }
-        self.passwordView.becomeFirstResponderHandler = { [unowned self] result in
-            self.isFocus = true
-            self.refreshPasswordView(state: .Focus)
-            self.updatePasswordViewRightViewState()
+        self.passwordView.becomeFirstResponderHandler = { [weak self] result in
+            self?.isFocus = true
+            self?.refreshPasswordView(state: .Focus)
+            self?.updatePasswordViewRightViewState()
         }
-        self.passwordView.didEndEditHandler = { [unowned self] _ in
-            self.isFocus = false
-            self.refreshPasswordView(state: .Norm)
-            self.updatePasswordViewRightViewState()
+        self.passwordView.didEndEditHandler = { [weak self] _ in
+            self?.isFocus = false
+            self?.refreshPasswordView(state: .Norm)
+            self?.updatePasswordViewRightViewState()
         }
     }
     

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Tools/KMTextFieldStepperView/KMTextFieldStepperView.swift

@@ -87,8 +87,8 @@ class KMTextFieldStepperView: KMBaseXibView, NSTextFieldDelegate {
         
         self.inputTextField.textField.textColor = self.textColor
         self.inputTextField.textField.font = self.font
-        self.inputTextField.textDidEndEditing = {[unowned self] (string) in
-            self.presenter.changeValue(value: (string))
+        self.inputTextField.textDidEndEditing = {[weak self] (string) in
+            self?.presenter.changeValue(value: (string))
         }
         
         self.border(NSColor.km_init(hex: "#DFE1E5"), 1, 4)

+ 8 - 8
PDF Office/PDF Master/Class/PDFTools/Watermark/Controller/KMBatchOperateAddWatermarkViewController.swift

@@ -344,8 +344,8 @@ class KMBatchOperateAddWatermarkViewController: KMBatchOperateBaseViewController
             controller.type = .add
             controller.currentType = self.currentBackgroundType.rawValue
             controller.pdfDocument = cdocument
-            controller.cancelAction = { [unowned self] controller in
-                self.km_endSheet()
+            controller.cancelAction = { [weak self] controller in
+                self?.km_endSheet()
             }
             self.km_beginSheet(windowC: controller)
             controller.operateCallBack = { controller, background, countType in
@@ -377,8 +377,8 @@ class KMBatchOperateAddWatermarkViewController: KMBatchOperateBaseViewController
             controller.type = .add
             controller.pdfDocument = cdocument
             controller.currentType = self.currentType.rawValue
-            controller.cancelAction = { [unowned self] wmWindowC in
-                self.km_endSheet()
+            controller.cancelAction = { [weak self] wmWindowC in
+                self?.km_endSheet()
             }
             controller.operateCallBack = { [unowned self] controller, watermark, countType in
                 self.currentType = KMWatermarkType(rawValue: countType) ?? .txt
@@ -667,8 +667,8 @@ extension KMBatchOperateAddWatermarkViewController {
         controller.background = background
         controller.currentType = self.currentBackgroundType.rawValue
         controller.pdfDocument = cdocument
-        controller.cancelAction = { [unowned self] controller in
-            self.km_endSheet()
+        controller.cancelAction = { [weak self] controller in
+            self?.km_endSheet()
         }
         self.km_beginSheet(windowC: controller)
         controller.operateCallBack = { controller, background, countType in
@@ -716,8 +716,8 @@ extension KMBatchOperateAddWatermarkViewController {
             controller.type = .edit
             controller.pdfDocument = cdocument
             controller.currentType = self.currentType.rawValue
-            controller.cancelAction = { [unowned self] wmWindowC in
-                self.km_endSheet()
+            controller.cancelAction = { [weak self] wmWindowC in
+                self?.km_endSheet()
             }
             controller.operateCallBack = { controller, watermark, countType in
                 self._loadData()

+ 6 - 6
PDF Office/PDF Master/Class/PDFTools/Watermark/Controller/KMWatermarkCollectionViewItem.swift

@@ -135,18 +135,18 @@ extension KMWatermarkCollectionViewItem {
         self.labelContainerView.layer?.cornerRadius = 1.0
         self.imageView?.layer?.borderColor = KMAppearance.Layout.h2Color().cgColor
         
-        self.editButton.coverAction = { [unowned self] cbutton, cation in
+        self.editButton.coverAction = { [weak self] cbutton, cation in
             if (cation == .enter) {
-                self.editButton.image = NSImage(named: KMImageNameUXIconBtnEditHov)
+                self?.editButton.image = NSImage(named: KMImageNameUXIconBtnEditHov)
             } else {
-                self.editButton.image = NSImage(named: KMImageNameUXIconBtnEditNor)
+                self?.editButton.image = NSImage(named: KMImageNameUXIconBtnEditNor)
             }
         }
-        self.deleteButton.coverAction = { [unowned self] cbutton, cation in
+        self.deleteButton.coverAction = { [weak self] cbutton, cation in
             if (cation == .enter) {
-                self.deleteButton.image = NSImage(named: KMImageNameUXIconBtnCloseHov)
+                self?.deleteButton.image = NSImage(named: KMImageNameUXIconBtnCloseHov)
             } else {
-                self.deleteButton.image = NSImage(named: KMImageNameUXIconBtnCloseNor)
+                self?.deleteButton.image = NSImage(named: KMImageNameUXIconBtnCloseNor)
             }
         };
     }

+ 12 - 12
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/Controller/KMNoteOutlineFilterViewController.swift

@@ -349,11 +349,11 @@ extension KMNoteOutlineFilterViewController: NSCollectionViewDelegate, NSCollect
                 item.selectAuthor(author as! String, isSelect: false)
             }
 
-            item.authorClickCallback = { [unowned self] author in
-                if let data = self.selectAuthorArray?.contains(author), data {
-                    self.selectAuthorArray?.remove(author)
+            item.authorClickCallback = { [weak self] author in
+                if let data = self?.selectAuthorArray?.contains(author), data {
+                    self?.selectAuthorArray?.remove(author)
                 } else {
-                    self.selectAuthorArray?.add(author)
+                    self?.selectAuthorArray?.add(author)
                 }
             }
             return item
@@ -366,11 +366,11 @@ extension KMNoteOutlineFilterViewController: NSCollectionViewDelegate, NSCollect
                 item.selectColorButton(color as! NSColor, isSelect: false)
             }
 
-            item.colorClickCallback = { [unowned self] color in
-                if let data = self.selectColorArray?.contains(color), data {
-                    self.selectColorArray?.remove(color)
+            item.colorClickCallback = { [weak self] color in
+                if let data = self?.selectColorArray?.contains(color), data {
+                    self?.selectColorArray?.remove(color)
                 } else {
-                    self.selectColorArray?.add(color)
+                    self?.selectColorArray?.add(color)
                 }
             }
             return item
@@ -382,11 +382,11 @@ extension KMNoteOutlineFilterViewController: NSCollectionViewDelegate, NSCollect
             } else {
                 item.selectButton(false, type: type as! String)
             }
-            item.typeClickCallback = { [unowned self] type in
-                if let data = self.selectTypeArray?.contains(type), data {
-                    self.selectTypeArray?.remove(type)
+            item.typeClickCallback = { [weak self] type in
+                if let data = self?.selectTypeArray?.contains(type), data {
+                    self?.selectTypeArray?.remove(type)
                 } else {
-                    self.selectTypeArray?.add(type)
+                    self?.selectTypeArray?.add(type)
                 }
             }
             return item

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMAnnotationView/KMAnnotationOutlineView.swift

@@ -165,8 +165,8 @@ extension KMAnnotationOutlineView : NSOutlineViewDataSource,NSOutlineViewDelegat
             }
         }
         
-        rowView.hoverCallback = { [unowned self] (mouseEntered, mouseBox) in
-            self.outlineView.enumerateAvailableRowViews { view, row in
+        rowView.hoverCallback = { [weak self] (mouseEntered, mouseBox) in
+            self?.outlineView.enumerateAvailableRowViews { view, row in
                 if view is KMAnnotationOutlineRowView {
                     (view as? KMAnnotationOutlineRowView)?.model?.hover = false
                     (view as? KMAnnotationOutlineRowView)?.reloadData()

+ 6 - 6
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMAnnotationView/Views/KMAnnotationOutlineRowView.swift

@@ -40,9 +40,9 @@ class KMAnnotationOutlineRowView: NSTableRowView {
             self.box?.boxType = .custom
             self.addSubview(self.box!, positioned: NSWindow.OrderingMode.below, relativeTo: self)
             self.box?.autoresizingMask = [.width, .height]
-            self.box?.moveCallback = { [unowned self] (mouseEntered, mouseBox) in
-                self.hoverCallback?(mouseEntered, mouseBox)
-                self.reloadData()
+            self.box?.moveCallback = { [weak self] (mouseEntered, mouseBox) in
+                self?.hoverCallback?(mouseEntered, mouseBox)
+                self?.reloadData()
             }
             
             self.contentBox?.wantsLayer = true
@@ -52,10 +52,10 @@ class KMAnnotationOutlineRowView: NSTableRowView {
             self.contentBox?.layer?.cornerRadius = 4
             self.contentBox?.boxType = .custom
             self.contentBox?.autoresizingMask = [.width, .height]
-            self.contentBox?.rightDownCallback = { [unowned self] (downEntered, mouseBox, event) in
-                guard let callBack = rightMouseDownAction else { return }
+            self.contentBox?.rightDownCallback = { [weak self] (downEntered, mouseBox, event) in
+                guard let callBack = self?.rightMouseDownAction else { return }
                 
-                callBack(self, event)
+                callBack(self!, event)
             }
         }
         

+ 7 - 7
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMAnnotationViewController.swift

@@ -384,12 +384,12 @@ extension KMAnnotationViewController {
         let annotationScreenView = KMAnnotationScreenCollectionView(frame: CGRect(x: 0, y: 0, width: 304, height: 296))
         annotationScreenView.path = self.listView?.document.documentURL.path ?? ""
         annotationScreenView.annotations = self.allAnnotations
-        annotationScreenView.applyAction = { [unowned self] (view, typeArray, colorArray, authArray) in
+        annotationScreenView.applyAction = { [weak self] (view, typeArray, colorArray, authArray) in
             menu.cancelTracking()
-            self.annotationSort(sortArray: [typeArray, colorArray, authArray])
+            self?.annotationSort(sortArray: [typeArray, colorArray, authArray])
         }
         
-        annotationScreenView.cancelAction = { [unowned self] view in
+        annotationScreenView.cancelAction = { [weak self] view in
             menu.cancelTracking()
         }
             
@@ -756,8 +756,8 @@ extension KMAnnotationViewController {
         
         self.annotationOutlineView.reloadData(expandItemType: .none)
         self.updateExtempViewState()
-        self.listView?.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.addAnnotations(annotationItems: tempAnnotations)
+        self.listView?.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
+            self?.addAnnotations(annotationItems: tempAnnotations)
         }
         
         self.addNotification()
@@ -789,8 +789,8 @@ extension KMAnnotationViewController {
         self.updateExtempViewState()
         
         let tempAnnotations: [KMBOTAAnnotationItem] = tempAnnotationItems
-        self.listView?.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.deleteAnnotations(annotationItems: tempAnnotations)
+        self.listView?.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
+            self?.deleteAnnotations(annotationItems: tempAnnotations)
         }
         
         self.addNotification()

+ 9 - 9
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/KMBookMarkViewController.swift

@@ -252,10 +252,10 @@ class KMBookMarkViewController: NSViewController, NSTextFieldDelegate {
     
     @objc func documentPageCountChangedNotification(notification: NSNotification) {
         if notification.object is CPDFDocument {
-            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.3) { [unowned self] in
+            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.3) { [weak self] in
                 let pdfdocument : CPDFDocument = notification.object as! CPDFDocument
-                if pdfdocument.isEqual(self.listView.document) {
-                    self.reloadData()
+                if pdfdocument.isEqual(self?.listView?.document) {
+                    self?.reloadData()
                 }
             }
         }
@@ -464,9 +464,9 @@ extension KMBookMarkViewController {
         indexSet.insert(self.bookTableView.row(for: self.renameCellView))
         self.bookTableView.selectRowIndexes(indexSet, byExtendingSelection: false)
         
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
             bookmark.bookMark.label = label
-            self.renamePDFBook(bookmark: bookmark, label: temp ?? bookmark.label)
+            self?.renamePDFBook(bookmark: bookmark, label: temp ?? bookmark.label)
         }
     }
     
@@ -481,9 +481,9 @@ extension KMBookMarkViewController {
         
         //undo redo
         var saveBooks:[KMBookMarkItem] = bookMarks
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
             saveBooks.sort(){$0.index > $1.index}
-            self.addBookMark(bookMarks: bookMarks)
+            self?.addBookMark(bookMarks: bookMarks)
         }
         
         guard let callBack = bookMarkDidChange else { return }
@@ -512,9 +512,9 @@ extension KMBookMarkViewController {
         
         //undo redo
         var saveBooks:[KMBookMarkItem] = bookMarks
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
             saveBooks.sort(){$0.index > $1.index}
-            self.deleteBookMark(bookMarks: saveBooks)
+            self?.deleteBookMark(bookMarks: saveBooks)
         }
         
         guard let callBack = bookMarkDidChange else { return }

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Note.swift

@@ -47,7 +47,7 @@ extension KMLeftSideViewController {
         
         self.noteSearchField.delegate = self
         self.noteSearchField.isHidden = true
-        self.noteSearchField.endEditCallBack = { [unowned self] isEndEdit in
+        self.noteSearchField.endEditCallBack = { [weak self] isEndEdit in
 //            if (isEndEdit) {
 //                self.noteSearchField.isHidden = true
 //                self.noteSearchButton.isHidden = false

+ 5 - 5
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift

@@ -290,13 +290,13 @@ class KMLeftSideViewController: KMSideViewController {
         self.searchViewController.segmentedControl.setToolTip(KMLocalizedString("Group search results by page", nil), for: 1)
         self.searchViewController.segmentedControl.isBackgroundHighlighted = true
         self.searchViewController.segmentedControl.selectedSegment = 0
-        self.searchViewController.segmentedControl.block = { [unowned self] segIndex in
+        self.searchViewController.segmentedControl.block = { [weak self] segIndex in
             if segIndex == 0 {
-                self.findPaneState = .singular
-                self.displayFindViewAnimating(false)
+                self?.findPaneState = .singular
+                self?.displayFindViewAnimating(false)
             } else {
-                self.findPaneState = .grouped
-                self.displayGroupedFindViewAnimating(false)
+                self?.findPaneState = .grouped
+                self?.displayGroupedFindViewAnimating(false)
             }
         }
         self.leftView.helpButton.coverAction = { [weak self] button, action in

+ 10 - 10
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Outline/KMOutlineViewController.swift

@@ -798,8 +798,8 @@ extension KMOutlineViewController {
         tempOutlineView.outlineView.expandItem(outlineItem)
         tempOutlineView.outlineView.expandItem(outlineItem.parent)
         
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.moveOutline(outlineItem: outlineItem, index: NSInteger(indexTemp), parent: parentTemp)
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
+            self?.moveOutline(outlineItem: outlineItem, index: NSInteger(indexTemp), parent: parentTemp)
         }
     }
     
@@ -810,8 +810,8 @@ extension KMOutlineViewController {
         outlineItem.outline.destination = CPDFDestination(document: destination.document, pageIndex: destination.pageIndex, at: destination.point, zoom: destination.zoom)
         tempOutlineView.outlineView.reloadItem(outlineItem)
         
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.changeLocation(outlineItem: outlineItem, destination: temp!)
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
+            self?.changeLocation(outlineItem: outlineItem, destination: temp!)
         }
     }
     
@@ -827,8 +827,8 @@ extension KMOutlineViewController {
         outlineItem.outline.label = label
         tempOutlineView.outlineView.reloadItem(outlineItem)
         
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.renamePDFOutline(outlineItem: outlineItem, label: temp)
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
+            self?.renamePDFOutline(outlineItem: outlineItem, label: temp)
         }
     }
     
@@ -858,8 +858,8 @@ extension KMOutlineViewController {
         
         //刷新nil数据
         self.updateExtempViewState()
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.addOutline(outlineItems: tempOutlineItems)
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
+            self?.addOutline(outlineItems: tempOutlineItems)
         }
     }
     
@@ -904,8 +904,8 @@ extension KMOutlineViewController {
 //        }
         
         self.updateExtempViewState()
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.deleteOutline(outlineItems: tempOutlineItems)
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
+            self?.deleteOutline(outlineItems: tempOutlineItems)
         }
     }
     

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/KMSearchViewController.swift

@@ -462,8 +462,8 @@ extension KMSearchViewController : NSOutlineViewDataSource,NSOutlineViewDelegate
             self.didSelectItem(view: view, event: event)
         }
         
-        rowView.hoverCallback = { [unowned self] mouseEntered, mouseBox in
-            self.outlineView.enumerateAvailableRowViews { view, row in
+        rowView.hoverCallback = { [weak self] mouseEntered, mouseBox in
+            self?.outlineView.enumerateAvailableRowViews { view, row in
                 if view is KMSearchTableRowView {
                     (view as? KMSearchTableRowView)?.model.hover = false
                     (view as? KMSearchTableRowView)?.reloadData()

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/Base/KMPDFThumbViewBaseController.swift

@@ -357,7 +357,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
         windowC.callback = { [weak self] pdfDoc, fileAttribute, oneDocumentPerPage, isDeletePage in
             self?.km_endSheet()
             if let _ = pdfDoc {
-                self?._extractPages(indexpaths: indexpaths, oneDocumentPerPage: oneDocumentPerPage) { [unowned self] result, params in
+                self?._extractPages(indexpaths: indexpaths, oneDocumentPerPage: oneDocumentPerPage) { [weak self] result, params in
                     if (result == .failure || result == .cancel) {
                         return
                     }

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.swift

@@ -946,8 +946,8 @@ let KMColorPickerViewHeight: CGFloat = 64
         vc.annotations = annotations
         vc.annotationModel = self.annotationModel
         vc.view.frame = CGRect(x: 0, y: 0, width: 280, height: CGRectGetHeight(self.view.window?.frame ?? CGRect.zero) - 300)
-        vc.didSelect = { [unowned self] data in
-            self.updateAnnotation()
+        vc.didSelect = { [weak self] data in
+            self?.updateAnnotation()
         }
         
         let createFilePopover = NSPopover()

+ 3 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/KMFillSignShapePanel.swift

@@ -470,9 +470,9 @@ typealias AnnotationSelfSignViewControllerCallBack = (_ newType: CAnnotationType
         createFilePopover.show(relativeTo: CGRect(x: titleView.bounds.origin.x, y: 10, width: titleView.bounds.width, height: titleView.bounds.height), of: titleView, preferredEdge: .minY)
         vc.type = .Opacity
         
-        vc.callback = { [unowned self](opacity: CGFloat) -> Void in
-            refreshUI()
-            updateAnnotation()
+        vc.callback = { [weak self](opacity: CGFloat) -> Void in
+            self?.refreshUI()
+            self?.updateAnnotation()
         }
     }
     

+ 3 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/KMFillSignTextPanel.swift

@@ -772,9 +772,9 @@ class KMFillSignTextPanel: KMPropertiesPanelSubViewController {
         createFilePopover.show(relativeTo: CGRect(x: fillColorView.bounds.origin.x, y: 57, width: fillColorView.bounds.width, height: fillColorView.bounds.height), of: fillColorView, preferredEdge: .minY)
         vc.type = .Opacity
         
-        vc.callback = { [unowned self](opacity: CGFloat) -> Void in
-            refreshUI()
-            updateAnnotation()
+        vc.callback = { [weak self](opacity: CGFloat) -> Void in
+            self?.refreshUI()
+            self?.updateAnnotation()
         }
     }
     

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/StampList/KMAnnotationStampViewController.swift

@@ -1043,8 +1043,8 @@ let KMPDFDynamicStampNeedAuthorKey1 = "km_pdfview_dynamic_stamp_need_author"
                     if filePath.pathExtension.lowercased() == "pdf" {
                         if let pdf = CPDFDocument(url: url), pdf.isEncrypted {
                             if #available(macOS 13.0, *) {
-                                KMBaseWindowController.checkPassword(url: URL(filePath: filePath), type: .owner) { [unowned self] success, resultPassword in
-                                    self!.addImageStamp(withSecurityPDFFilePath: filePath, password: resultPassword, removeBGColor: (accessoryCtr.selectedButton.state == .on))
+                                KMBaseWindowController.checkPassword(url: URL(filePath: filePath), type: .owner) { [weak self] success, resultPassword in
+                                    self?.addImageStamp(withSecurityPDFFilePath: filePath, password: resultPassword, removeBGColor: (accessoryCtr.selectedButton.state == .on))
                                 }
                             } else {
                                 // Fallback on earlier versions

+ 11 - 11
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarController.swift

@@ -463,16 +463,16 @@ class KMToolbarController: NSViewController {
         
         topBarView.initItemData(itemArrays: itemModels)
         
-        topBarView.cancelClick = { [unowned self] in
-            self.delegate?.clickChildTool?(type: type, index: 1)
+        topBarView.cancelClick = { [weak self] in
+            self?.delegate?.clickChildTool?(type: type, index: 1)
         }
         
-        topBarView.applyClick = { [unowned self] in
-            self.delegate?.clickChildTool?(type: type, index: 2)
+        topBarView.applyClick = { [weak self] in
+            self?.delegate?.clickChildTool?(type: type, index: 2)
         }
         
-        topBarView.itemClick = { [unowned self] section,item in
-            self.delegate?.clickChildTool?(type: type, index: 3+item)
+        topBarView.itemClick = { [weak self] section,item in
+            self?.delegate?.clickChildTool?(type: type, index: 3+item)
         }
     }
     
@@ -596,8 +596,8 @@ extension KMToolbarController {
         self.delegate?.toolbarController?(self, heightOffsetChange: height, animated: false)
         
         self.findSearchView.findField.becomeFirstResponder()
-        self.findSearchView.doneAction = { [unowned self] view in
-            self.exitFindBar()
+        self.findSearchView.doneAction = { [weak self] view in
+            self?.exitFindBar()
         }
         
         self.findSearchView.searchAction = { [weak self] view, searchString, forward in
@@ -607,9 +607,9 @@ extension KMToolbarController {
             return true
         }
         
-        self.findSearchView.showAllAction = { [unowned self] view, searchString, forward in
-            if let data = self.mainToolBarView {
-                self.toolbarViewController(data, findSearchAllAction: searchString, forward: forward)
+        self.findSearchView.showAllAction = { [weak self] view, searchString, forward in
+            if let data = self?.mainToolBarView {
+                self?.toolbarViewController(data, findSearchAllAction: searchString, forward: forward)
             }
         }
     }

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift

@@ -244,13 +244,13 @@ extension KMMainViewController {
         self.listView.layoutDocumentView()
         NotificationCenter.default.post(name: NSNotification.Name(rawValue: "KMPDFViewRotatePage"), object: self.listView.document)
         
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
+        self.listView.undoManager?.registerUndo(withTarget: self) { [weak self] targetType in
             var tempPageItems: [KMThumbnailPageItem] = []
             for pageItem in pageItems {
                 let item = KMThumbnailPageItem(page: pageItem.page, rotate: pageItem.oldRotate, oldRotate: pageItem.rotate)
                 tempPageItems.append(item)
             }
-            self.rotatePageItems(pageItems: tempPageItems)
+            self?.rotatePageItems(pageItems: tempPageItems)
         }
     }
 

+ 4 - 4
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift

@@ -1561,15 +1561,15 @@ import Cocoa
         self.progressC?.maxValue = 3.0
         self.progressC?.increment(by: 1.0)
         // 保存文档
-        self.asyncSaveDocument { [unowned self] params in
+        self.asyncSaveDocument { [weak self] params in
             // 执行进度 [假进度]
-            self.progressC?.increment(by: 1.0)
-            self.progressC?.increment(by: 1.0)
+            self?.progressC?.increment(by: 1.0)
+            self?.progressC?.increment(by: 1.0)
             
 //            DispatchQueue.main.async {
             DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
                 // 隐藏进度
-                self.hiddenProgressWindow()
+                self?.hiddenProgressWindow()
                 DispatchQueue.main.asyncAfter(deadline: .now()+1) {
                     AutoSaveManager.manager.isSaving = false
                 }

+ 26 - 26
PDF Office/PDF Master/Class/Purchase/DMG/KMPurchaseFirstTrialWindowController.swift

@@ -230,15 +230,15 @@ import Cocoa
             self.btnBox.layer?.backgroundColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1).cgColor
             self.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1).cgColor
             self.activateTrialNowBtn.setTitleColor(NSColor(red: 7.0/255.0, green: 1.0/255.0, blue: 34.0/255.0, alpha: 1))
-            self.activateTrialNowBtn.mouseMoveCallback = {[unowned self] (mouseEntered) in
+            self.activateTrialNowBtn.mouseMoveCallback = {[weak self] (mouseEntered) in
                 if mouseEntered {
-                    self.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1).cgColor
-                    self.btnBox.fillColor = NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1)
-                    self.btnBox.layer?.backgroundColor = NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1).cgColor
+                    self?.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1).cgColor
+                    self?.btnBox.fillColor = NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1)
+                    self?.btnBox.layer?.backgroundColor = NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1).cgColor
                 } else {
-                    self.btnBox.fillColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1)
-                    self.btnBox.layer?.backgroundColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1).cgColor
-                    self.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1).cgColor
+                    self?.btnBox.fillColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1)
+                    self?.btnBox.layer?.backgroundColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1).cgColor
+                    self?.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1).cgColor
                 }
             }
 //            self.activateTrialNowBtn.setBaseLineOffset(2)
@@ -250,21 +250,21 @@ import Cocoa
             self.buyNowBtn.title = NSLocalizedString("Buy Now", comment: "")
             
             self.buyNowBtn.setTitleColor(NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1))
-            self.buyNowBtn.mouseMoveCallback = {[unowned self] (mouseEntered) in
+            self.buyNowBtn.mouseMoveCallback = {[weak self] (mouseEntered) in
                 if mouseEntered {
-                    self.buyNowBtn.setTitleColor(NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1))
+                    self?.buyNowBtn.setTitleColor(NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1))
                 } else {
-                    self.buyNowBtn.setTitleColor(NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1))
+                    self?.buyNowBtn.setTitleColor(NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1))
                 }
             }
             
             self.enterLicenseBtn.title = NSLocalizedString("Enter License", comment: "")
             self.enterLicenseBtn.setTitleColor(NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1))
-            self.enterLicenseBtn.mouseMoveCallback = {[unowned self] (mouseEntered) in
+            self.enterLicenseBtn.mouseMoveCallback = {[weak self] (mouseEntered) in
                 if mouseEntered {
-                    self.enterLicenseBtn.setTitleColor(NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1))
+                    self?.enterLicenseBtn.setTitleColor(NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1))
                 } else {
-                    self.enterLicenseBtn.setTitleColor(NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1))
+                    self?.enterLicenseBtn.setTitleColor(NSColor(red: 181.0/255.0, green: 177.0/255.0, blue: 239.0/255.0, alpha: 1))
                 }
             }
             
@@ -305,15 +305,15 @@ import Cocoa
             self.btnBox.layer?.backgroundColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1).cgColor
             self.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1).cgColor
             self.activateTrialNowBtn.setTitleColor(NSColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1))
-            self.activateTrialNowBtn.mouseMoveCallback = {[unowned self] (mouseEntered) in
+            self.activateTrialNowBtn.mouseMoveCallback = {[weak self] (mouseEntered) in
                 if mouseEntered {
-                    self.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 0.0/255.0, green: 207.0/255.0, blue: 133.0/255.0, alpha: 1).cgColor
-                    self.btnBox.fillColor = NSColor(red: 0.0/255.0, green: 207.0/255.0, blue: 133.0/255.0, alpha: 1)
-                    self.btnBox.layer?.backgroundColor = NSColor(red: 0.0/255.0, green: 207.0/255.0, blue: 133.0/255.0, alpha: 1).cgColor
+                    self?.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 0.0/255.0, green: 207.0/255.0, blue: 133.0/255.0, alpha: 1).cgColor
+                    self?.btnBox.fillColor = NSColor(red: 0.0/255.0, green: 207.0/255.0, blue: 133.0/255.0, alpha: 1)
+                    self?.btnBox.layer?.backgroundColor = NSColor(red: 0.0/255.0, green: 207.0/255.0, blue: 133.0/255.0, alpha: 1).cgColor
                 } else {
-                    self.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1).cgColor
-                    self.btnBox.fillColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1)
-                    self.btnBox.layer?.backgroundColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1).cgColor
+                    self?.activateTrialNowBtn.layer?.backgroundColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1).cgColor
+                    self?.btnBox.fillColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1)
+                    self?.btnBox.layer?.backgroundColor = NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1).cgColor
                 }
             }
             self.titleField.textColor =  NSColor(red: 0.0/255.0, green: 33.0/255.0, blue: 67.0/255.0, alpha: 1)
@@ -322,21 +322,21 @@ import Cocoa
             
             self.buyNowBtn.title = NSLocalizedString("Buy Now", comment: "")
             self.buyNowBtn.setTitleColor(NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1))
-            self.buyNowBtn.mouseMoveCallback = {[unowned self] (mouseEntered) in
+            self.buyNowBtn.mouseMoveCallback = {[weak self] (mouseEntered) in
                 if mouseEntered {
-                    self.buyNowBtn.setTitleColor(NSColor(red: 8.0/255.0, green: 124.0/255.0, blue: 255.0/255.0, alpha: 1))
+                    self?.buyNowBtn.setTitleColor(NSColor(red: 8.0/255.0, green: 124.0/255.0, blue: 255.0/255.0, alpha: 1))
                 } else {
-                    self.buyNowBtn.setTitleColor(NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1))
+                    self?.buyNowBtn.setTitleColor(NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1))
                 }
             }
             
             self.enterLicenseBtn.title = NSLocalizedString("Enter License", comment: "")
             self.enterLicenseBtn.setTitleColor(NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1))
-            self.enterLicenseBtn.mouseMoveCallback = {[unowned self] (mouseEntered) in
+            self.enterLicenseBtn.mouseMoveCallback = {[weak self] (mouseEntered) in
                 if mouseEntered {
-                    self.enterLicenseBtn.setTitleColor(NSColor(red: 8.0/255.0, green: 124.0/255.0, blue: 255.0/255.0, alpha: 1))
+                    self?.enterLicenseBtn.setTitleColor(NSColor(red: 8.0/255.0, green: 124.0/255.0, blue: 255.0/255.0, alpha: 1))
                 } else {
-                    self.enterLicenseBtn.setTitleColor(NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1))
+                    self?.enterLicenseBtn.setTitleColor(NSColor(red: 39.0/255.0, green: 60.0/255.0, blue: 98.0/255.0, alpha: 1))
                 }
             }
             

+ 3 - 3
PDF Office/PDF Master/Class/Welcome/KMWelcomeWindowController.swift

@@ -245,11 +245,11 @@ class KMWelcomeWindowController: NSWindowController {
             }
         }
         
-        self.closeBox.moveCallback = { [unowned self] mouseEntered, mouseBox in
+        self.closeBox.moveCallback = { [weak self] mouseEntered, mouseBox in
             if (mouseEntered) {
-                self.closeButton.image = NSImage(named: "control_btn_icon_close_hov")
+                self?.closeButton.image = NSImage(named: "control_btn_icon_close_hov")
             } else {
-                self.closeButton.image = NSImage(named: "control_btn_icon_close")
+                self?.closeButton.image = NSImage(named: "control_btn_icon_close")
             }
         }
         

+ 8 - 8
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -16,7 +16,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "904"
             endingLineNumber = "904"
-            landmarkName = "verticalStepperAction(_:)"
+            landmarkName = "buttonClicked_Done(_:)"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -32,7 +32,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "911"
             endingLineNumber = "911"
-            landmarkName = "tileVerticalStepperAction(_:)"
+            landmarkName = "buttonClicked_Done(_:)"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -48,7 +48,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "918"
             endingLineNumber = "918"
-            landmarkName = "horizentalStepperAction(_:)"
+            landmarkName = "colorWellColorChanged(_:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -96,7 +96,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "925"
             endingLineNumber = "925"
-            landmarkName = "tileHorizentalStepperAction(_:)"
+            landmarkName = "radioStepperAction(_:)"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -448,8 +448,8 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "1948"
             endingLineNumber = "1948"
-            landmarkName = "KMMainViewController"
-            landmarkType = "3">
+            landmarkName = "pdfViewCanVerticalScroll()"
+            landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -464,7 +464,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "654"
             endingLineNumber = "654"
-            landmarkName = "timerTick()"
+            landmarkName = "isFileGreaterThan10MB(atPath:)"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -736,7 +736,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2477"
             endingLineNumber = "2477"
-            landmarkName = "showInFinder(_:)"
+            landmarkName = "_renameForSavePanel(_:)"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>