Browse Source

【toolbar】代码检查,!检查

tangchao 11 months ago
parent
commit
1bd71ce5b9

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

@@ -116,7 +116,9 @@ class KMToolbarController: NSViewController {
         mainToolBarView?.view.layer?.backgroundColor = NSColor.km_init(hex: "#F7F8FA").cgColor
         mainToolBarBox.contentView = mainToolBarView?.view
         mainToolBarView?.delegate = self
-        mainToolBarView?.pdfView = self.listView!
+        if let data = self.listView {
+            mainToolBarView?.pdfView = data
+        }
         
         childToolBarView = KMToolbarViewController.init()
         childToolBarView?.view.wantsLayer = true
@@ -125,7 +127,9 @@ class KMToolbarController: NSViewController {
         childToolBarView?.view.frame = childToolBarBox.frame
         childToolBarView?.delegate = self
         childToolBarView?.view.autoresizingMask = [.width, .height]
-        childToolBarView?.pdfView = self.listView!
+        if let data = self.listView {
+            childToolBarView?.pdfView = data
+        }
         
         toolbarType = .None
         mainToolBarView?.toolbarType = .Main
@@ -243,14 +247,14 @@ class KMToolbarController: NSViewController {
         }
         
         var item: KMToolbarItemView?
-        for (key, value) in self.mainToolBarView!.toolbarItems {
+        for (key, value) in self.mainToolBarView?.toolbarItems ?? [:] {
             if (key == identifier) {
-                item = (value as! KMToolbarItemView)
+                item = (value as? KMToolbarItemView)
                 break
             }
         }
         // 主工具栏 item
-        if (item != nil) {
+        if let data = item {
             if (identifier == KMDocumentAnnotationToolbarItemIdentifier ||
                 identifier == KMDocumentPageToolbarItemIdentifier ||
                 identifier == KMDocumentConversonToolbarItemIdentifier ||
@@ -258,15 +262,15 @@ class KMToolbarController: NSViewController {
                 identifier == KMDocumentFormToolbarItemIdentifier ||
                 identifier == KMDocumentFillSginToolbarItemIdentifier ||
                 identifier == KMDocumentToolToolbarItemIdentifier) {
-                self.mainToolBarView?.leftControllButtonAction(item: item!.clickButton)
+                self.mainToolBarView?.leftControllButtonAction(item: data.clickButton)
             } else if (identifier == KMRightControlToolbarItemIdentifier) {
-                self.mainToolBarView?.itemAction(item!)
+                self.mainToolBarView?.itemAction(data)
             } else if (identifier == KMLeftControlToolbarItemIdentifier) {
-                self.mainToolBarView?.itemAction(item!)
+                self.mainToolBarView?.itemAction(data)
             } else if identifier == KMDocumentRedactToolbarItemIdentifier {
-                self.mainToolBarView?.itemAction(item!)
+                self.mainToolBarView?.itemAction(data)
             } else if identifier == KMDocumentScanOCRToolbarItemIdentifier {
-                self.mainToolBarView?.itemAction(item!)
+                self.mainToolBarView?.itemAction(data)
             }
             
             return
@@ -276,10 +280,10 @@ class KMToolbarController: NSViewController {
     private func trySelectChildItem(_ identifier: String) -> Bool {
         // 子工具栏 item [当前主工具栏已开启]
         var item: KMToolbarItemView?
-        if (self.childToolBarView?.toolbarItems != nil && self.childToolBarView!.toolbarItems.count > 0) {
-            for (key, value) in self.childToolBarView!.toolbarItems {
+        if let items = self.childToolBarView?.toolbarItems, items.count > 0 {
+            for (key, value) in items {
                 if (key == identifier) {
-                    item = (value as! KMToolbarItemView)
+                    item = (value as? KMToolbarItemView)
                     break
                 }
             }
@@ -295,26 +299,26 @@ class KMToolbarController: NSViewController {
     private func selectChildItem(_ identifier: String) {
         // 子工具栏 item [当前主工具栏已开启]
         var item: KMToolbarItemView?
-        if (self.childToolBarView?.toolbarItems != nil && self.childToolBarView!.toolbarItems.count > 0) {
-            for (key, value) in self.childToolBarView!.toolbarItems {
+        if let items = self.childToolBarView?.toolbarItems, items.count > 0 {
+            for (key, value) in items {
                 if (key == identifier) {
-                    item = (value as! KMToolbarItemView)
+                    item = (value as? KMToolbarItemView)
                     break
                 }
             }
             // 子工具栏[找到]
-            if (item != nil) {
+            if let data = item {
                 if (identifier == KMToolbarMoveToolModeItemIdentifier ||
                     identifier == KMToolbarMagnifyToolModeItemIdentifier ||
                     identifier == KMToolbarSelectToolModeItemIdentifier ||
                     identifier == KMToolbarZoomToSelectionItemIdentifier) {
-                    self.childToolBarView?.leftControllButtonAction(item: item!.clickButton)
+                    self.childToolBarView?.leftControllButtonAction(item: data.clickButton)
                 } else if identifier == KMToolbarViewSettingIdentifier ||
                             identifier == KMAnnotationImageToolbarItemIdentifier ||
                             identifier == KMAnnotationTableToolbarItemIdentifier {
-                    self.childToolBarView?.itemAction(item!)
+                    self.childToolBarView?.itemAction(data)
                 } else {
-                    self.childToolBarView?.changeAnnotationMode(item: item!.clickButton)
+                    self.childToolBarView?.changeAnnotationMode(item: data.clickButton)
                 }
             }
         }
@@ -327,9 +331,9 @@ class KMToolbarController: NSViewController {
         
         var item: KMToolbarItemView?
         if (isMainToolItem(identifier)) {
-            for (key, value) in self.mainToolBarView!.toolbarItems {
+            for (key, value) in self.mainToolBarView?.toolbarItems ?? [:] {
                 if (key == identifier) {
-                    item = (value as! KMToolbarItemView)
+                    item = (value as? KMToolbarItemView)
                     break
                 }
             }
@@ -344,9 +348,9 @@ class KMToolbarController: NSViewController {
         }
             
         var item: KMToolbarItemView?
-        for (key, value) in self.childToolBarView!.toolbarItems {
+        for (key, value) in self.childToolBarView?.toolbarItems ?? [:] {
             if (key == identifier) {
-                item = (value as! KMToolbarItemView)
+                item = (value as? KMToolbarItemView)
                 break
             }
         }
@@ -354,8 +358,10 @@ class KMToolbarController: NSViewController {
     }
     
     func exitPageEdit() -> Void {
-        resetToolbarViewController(mainToolBarView!)
-        exitPageEditToolbarViewController(mainToolBarView!)
+        if let data = self.mainToolBarView {
+            resetToolbarViewController(data)
+            exitPageEditToolbarViewController(data)
+        }
     }
     
     func exitTextEdit() -> Void {
@@ -370,7 +376,7 @@ class KMToolbarController: NSViewController {
         self.toolbarType = .None
         
         let topBarView = KMWatermarkAdjectiveTopBarView()
-        topBarView.frame = (self.mainToolBarView?.toolbar.bounds)!
+        topBarView.frame = (self.mainToolBarView?.toolbar.bounds) ?? .zero
         self.mainToolBarView?.toolbar.addSubview(topBarView)
         topBarView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
         topBarView.wantsLayer = true
@@ -392,19 +398,16 @@ class KMToolbarController: NSViewController {
         
         topBarView.initItemData(itemArrays: itemModels)
         
-        topBarView.cancelClick = {
-            [unowned self] in
-            self.delegate?.clickChildTool!(type: type, index: 1)
+        topBarView.cancelClick = { [unowned self] in
+            self.delegate?.clickChildTool?(type: type, index: 1)
         }
         
-        topBarView.applyClick = {
-            [unowned self] in
-            self.delegate?.clickChildTool!(type: type, index: 2)
+        topBarView.applyClick = { [unowned self] in
+            self.delegate?.clickChildTool?(type: type, index: 2)
         }
         
-        topBarView.itemClick = {
-            [unowned self] (section: Int, item: Int) -> () in
-            self.delegate?.clickChildTool!(type: type, index: 3+item)
+        topBarView.itemClick = { [unowned self] section,item in
+            self.delegate?.clickChildTool?(type: type, index: 3+item)
         }
     }
     
@@ -437,17 +440,17 @@ class KMToolbarController: NSViewController {
         self.toolbarType = .None
         
         let topBarView = KMRedactTopToolBar()
-        topBarView.frame = (self.mainToolBarView?.toolbar.bounds)!
+        topBarView.frame = (self.mainToolBarView?.toolbar.bounds) ?? .zero
         self.mainToolBarView?.toolbar.addSubview(topBarView)
-        topBarView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
+        topBarView.autoresizingMask = [.width, .height]
         topBarView.wantsLayer = true
         topBarView.layer?.backgroundColor = NSColor.white.cgColor
         
         topBarView.selectItem(0)
-        self.delegate?.clickChildTool!(type: .redact, index: 4)
+        self.delegate?.clickChildTool?(type: .redact, index: 4)
         
         topBarView.itemClick = { [weak self] index in
-            self!.delegate?.clickChildTool!(type: .redact, index: index)
+            self?.delegate?.clickChildTool?(type: .redact, index: index)
         }
     }
     
@@ -490,17 +493,17 @@ class KMToolbarController: NSViewController {
     
     @objc func cropItemAction(sender: NSMenuItem) {
         if (sender.tag == 0) { /// 裁剪当前页面
-            self.delegate?.clickChildTool!(type: .crop, index: 1)
+            self.delegate?.clickChildTool?(type: .crop, index: 1)
             return
         }
         
         if (sender.tag == 1) { /// 裁剪所有页面
-            self.delegate?.clickChildTool!(type: .crop, index: 2)
+            self.delegate?.clickChildTool?(type: .crop, index: 2)
             return
         }
         
         /// 自定义裁剪区域
-        self.delegate?.clickChildTool!(type: .crop, index: 3)
+        self.delegate?.clickChildTool?(type: .crop, index: 3)
     }
     
     @objc func secureItemAction(sender: NSMenuItem) {
@@ -522,34 +525,39 @@ class KMToolbarController: NSViewController {
 //MARK: Find Search
 extension KMToolbarController {
     func showFindBar() {
-        print("showFindBar")
         var height: Float = self.fetchHeight(type: _toolbarType)
         self.delegate?.toolbarController?(self, heightOffsetChange: height)
         
         self.findSearchView.findField.becomeFirstResponder()
         self.findSearchView.doneAction = { [unowned self] view in
-            print("doneAction")
             self.exitFindBar()
         }
         
-        self.findSearchView.searchAction = { view, searchString, forward in
-            print("searchAction")
-            self.toolbarViewController(self.mainToolBarView!, searchAction: searchString, forward: forward)
+        self.findSearchView.searchAction = { [weak self] view, searchString, forward in
+            if let data = self?.mainToolBarView {
+                self?.toolbarViewController(data, searchAction: searchString, forward: forward)
+            }
             return true
         }
         
         self.findSearchView.showAllAction = { [unowned self] view, searchString, forward in
-            self.toolbarViewController(self.mainToolBarView!, searchAllAction: searchString, forward: forward)
-            print("showAllAction: \(searchString)")
+            if let data = self.mainToolBarView {
+                self.toolbarViewController(data, searchAllAction: searchString, forward: forward)
+            }
         }
     }
     
     func showFindString(forward: Bool) {
-        self.toolbarViewController(self.mainToolBarView!, searchAction: self.findSearchView.findString ?? "", forward: forward)
+        if let data = self.mainToolBarView {
+            self.toolbarViewController(data, searchAction: self.findSearchView.findString ?? "", forward: forward)
+        }
+        
     }
     
     func showAllAction() {
-        self.toolbarViewController(self.mainToolBarView!, searchAllAction: self.findSearchView.findString ?? "", forward: true)
+        if let data = self.mainToolBarView {
+            self.toolbarViewController(data, searchAllAction: self.findSearchView.findString ?? "", forward: true)
+        }
     }
     
     func exitFindBar() {
@@ -606,14 +614,14 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
             //文字编辑 图片编辑 选中按钮逻辑(只能同时选中其中一个)
             if type == .addText || type == .addImage {
                 let boxItem = item.clickObject as? KMToolbarItemView
-                if boxItem != nil {
-                    if self.lastChildItemBox != boxItem {
+                if let data = boxItem {
+                    if self.lastChildItemBox != data {
                         self.lastChildItemBox.isSelected = false
-                        boxItem!.isSelected = true
+                        data.isSelected = true
                     } else {
-                        boxItem!.isSelected = !boxItem!.isSelected
+                        data.isSelected = !data.isSelected
                     }
-                    self.lastChildItemBox = boxItem!
+                    self.lastChildItemBox = data
                 }
             }
             
@@ -655,9 +663,10 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
             }
         } else {
             if(toolMode != self.toolbarType && toolMode != .LeftPanel) {
-                let item : KMToolbarItemView = (self.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentAnnotationToolbarItemIdentifier))!
-                item.isSelected = true
-                self.lastItemBox = item
+                if let item : KMToolbarItemView = (self.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentAnnotationToolbarItemIdentifier)) {
+                    item.isSelected = true
+                    self.lastItemBox = item
+                }
             } else if (toolMode == .LeftPanel) {
                 if(toolMode == self.toolbarType) {
                     toolbarItem.isSelected = false
@@ -693,9 +702,9 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
                 
                 if downEntered {
                     if (count == titles.first) {
-                        self!.delegate?.clickChildTool?(type: .crop, index: 1)
+                        self?.delegate?.clickChildTool?(type: .crop, index: 1)
                     } else {
-                        self!.delegate?.clickChildTool?(type: .crop, index: 2)
+                        self?.delegate?.clickChildTool?(type: .crop, index: 2)
                     }
                 }
             }
@@ -724,9 +733,9 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
             vc.downCallback = { [weak self] (downEntered: Bool, count: String) -> Void in
                 if downEntered {
                     if (count == titles.first) {
-                        self!.delegate?.clickChildTool?(type: .secure, index: 1)
+                        self?.delegate?.clickChildTool?(type: .secure, index: 1)
                     } else {
-                        self!.delegate?.clickChildTool?(type: .secure, index: 2)
+                        self?.delegate?.clickChildTool?(type: .secure, index: 2)
                     }
                 }
             }