Explorar el Código

【综合】缩略图列表删除最后一个crash问题修复

tangchao hace 1 año
padre
commit
d28d679dae

+ 10 - 0
PDF Office/PDF Master/Class/Common/Category/NSObject+KMExtension.swift

@@ -821,6 +821,16 @@ extension NSTableView {
             self.selectRowIndexes(idxs, byExtendingSelection: extend)
         }
     }
+    
+    func km_safe_view(atColumn column: Int, row: Int, makeIfNecessary: Bool) -> NSView? {
+        if column >= self.numberOfColumns {
+            return nil
+        }
+        if row >= self.numberOfRows {
+            return nil
+        }
+        return self.view(atColumn: column, row: row, makeIfNecessary: makeIfNecessary)
+    }
 }
 
 // MARK: - NSFileManager

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

@@ -1413,7 +1413,7 @@ extension KMLeftSideViewController: NSTableViewDelegate, NSTableViewDataSource {
 //            }
 //            self.thumbnailTableView.reloadData(forRowIndexes: rowIndexSet, columnIndexes: IndexSet(integer: 0))
 //            }
-            let view = self.thumbnailTableView.view(atColumn: 0, row: self.preThumbnailRow, makeIfNecessary: false) as? KMThumbnailTableviewCell
+            let view = self.thumbnailTableView.km_safe_view(atColumn: 0, row: self.preThumbnailRow, makeIfNecessary: false) as? KMThumbnailTableviewCell
             view?.isSelectCell = false
             
             let view2 = self.thumbnailTableView.view(atColumn: 0, row: row, makeIfNecessary: false) as? KMThumbnailTableviewCell