Skip to content

Commit 14ea444

Browse files
committed
Update NSTableViewDiffableDataSource+.swift
1 parent 52cfd20 commit 14ea444

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

Sources/AdvancedCollectionTableView/Extensions/NSTableView/NSTableViewDiffableDataSource+.swift

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public extension NSTableViewDiffableDataSource {
2020

2121
- Returns: The view to display the specified column and row.
2222
*/
23-
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
23+
public func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
2424
let selector = NSSelectorFromString("_tableView:viewForTableColumn:row:")
2525
if let meth = class_getInstanceMethod(object_getClass(self), selector) {
2626
let imp = method_getImplementation(meth)
@@ -41,7 +41,7 @@ public extension NSTableViewDiffableDataSource {
4141

4242
- Returns: An instance or subclass of `NSTableRowView`. If `nil` is returned, an `NSTableRowView` instance will be created and used.
4343
*/
44-
func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? {
44+
public func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? {
4545
let selector = NSSelectorFromString("_tableView:rowViewForRow:")
4646
if let meth = class_getInstanceMethod(object_getClass(self), selector) {
4747
let imp = method_getImplementation(meth)
@@ -62,7 +62,7 @@ public extension NSTableViewDiffableDataSource {
6262

6363
- Returns: `true` if the specified row should have the group row style drawn, `false` otherwise.
6464
*/
65-
func tableView(_ tableView: NSTableView, isGroupRow row: Int) -> Bool {
65+
public func tableView(_ tableView: NSTableView, isGroupRow row: Int) -> Bool {
6666
let selector = NSSelectorFromString("_tableView:isGroupRow:")
6767
if let meth = class_getInstanceMethod(object_getClass(self), selector) {
6868
let imp = method_getImplementation(meth)
@@ -105,13 +105,7 @@ public extension NSTableViewDiffableDataSource {
105105
}
106106

107107
private func _previewImage(for item: ItemIdentifierType, tableColumn: NSTableColumn, tableView: NSTableView, useColumnWidth: Bool = true) -> NSImage? {
108-
guard let index = tableView.tableColumns.firstIndex(of: tableColumn) else { return nil }
109-
let view: NSView
110-
if let row = row(forItemIdentifier: item), let _view = tableView.view(atColumn: index, row: row, makeIfNecessary: true) {
111-
view = _view
112-
} else {
113-
view = cellProvider(tableView, tableColumn, 0, item) as! NSView
114-
}
108+
guard tableView.tableColumns.contains(tableColumn), let view = createCellView(for: item, tableColumn: tableColumn, tableView: tableView) else { return nil }
115109
view.frame.size = view.systemLayoutSizeFitting(width: tableColumn.width)
116110
view.frame.size.width = useColumnWidth ? tableColumn.width : view.frame.size.width
117111
return view.renderedImage

0 commit comments

Comments
 (0)