From 82c8683118055b973c523e217d9f6453aa2886d7 Mon Sep 17 00:00:00 2001 From: Loki Date: Mon, 23 Apr 2018 11:12:39 +0300 Subject: [PATCH 1/2] RxTableViewRealmSource +columnId --- Pod/Classes/RxTableViewRealmDataSource.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Pod/Classes/RxTableViewRealmDataSource.swift b/Pod/Classes/RxTableViewRealmDataSource.swift index d2da35c..3037bb0 100644 --- a/Pod/Classes/RxTableViewRealmDataSource.swift +++ b/Pod/Classes/RxTableViewRealmDataSource.swift @@ -121,7 +121,7 @@ import RxRealm import Cocoa - public typealias TableCellFactory = (RxTableViewRealmDataSource, NSTableView, Int, E) -> NSTableCellView + public typealias TableCellFactory = (RxTableViewRealmDataSource, NSTableView, Int, String?, E) -> NSTableCellView public typealias TableCellConfig = (CellType, Int, E) -> Void open class RxTableViewRealmDataSource: NSObject, NSTableViewDataSource, NSTableViewDelegate { @@ -151,7 +151,7 @@ import RxRealm public init(cellIdentifier: String, cellType: CellType.Type, cellConfig: @escaping TableCellConfig) where CellType: NSTableCellView { self.cellIdentifier = cellIdentifier - self.cellFactory = { ds, tv, row, model in + self.cellFactory = { ds, tv, row, columnId, model in let cell = tv.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: cellIdentifier), owner: tv) as! CellType cellConfig(cell, row, model) return cell @@ -164,7 +164,8 @@ import RxRealm } public func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { - return cellFactory(self, tableView, row, items![row]) + let columnId = tableColumn?.identifier.rawValue + return cellFactory(self, tableView, row, columnId, items![row]) } // MARK: - Proxy unimplemented data source and delegate methods From 68b9f4c86f40ae3281187d80d09c7351a2b36515 Mon Sep 17 00:00:00 2001 From: Loki Date: Mon, 23 Apr 2018 11:20:55 +0300 Subject: [PATCH 2/2] columnId fixes --- .../RxRealmDataSources_MacExample/TableViewController.swift | 2 +- Pod/Classes/RxTableViewRealmDataSource.swift | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Example/RxRealmDataSources_MacExample/TableViewController.swift b/Example/RxRealmDataSources_MacExample/TableViewController.swift index bf93a69..424ce68 100644 --- a/Example/RxRealmDataSources_MacExample/TableViewController.swift +++ b/Example/RxRealmDataSources_MacExample/TableViewController.swift @@ -25,7 +25,7 @@ class TableViewController: NSViewController { super.viewDidLoad() // create data source - let dataSource = RxTableViewRealmDataSource(cellIdentifier: "Cell", cellType: NSTableCellView.self) {cell, row, lap in + let dataSource = RxTableViewRealmDataSource(cellIdentifier: "Cell", cellType: NSTableCellView.self) {cell, row, columnId, lap in cell.textField!.stringValue = "\(lap.text)" } dataSource.delegate = self diff --git a/Pod/Classes/RxTableViewRealmDataSource.swift b/Pod/Classes/RxTableViewRealmDataSource.swift index 3037bb0..313a2f4 100644 --- a/Pod/Classes/RxTableViewRealmDataSource.swift +++ b/Pod/Classes/RxTableViewRealmDataSource.swift @@ -122,7 +122,7 @@ import RxRealm import Cocoa public typealias TableCellFactory = (RxTableViewRealmDataSource, NSTableView, Int, String?, E) -> NSTableCellView - public typealias TableCellConfig = (CellType, Int, E) -> Void + public typealias TableCellConfig = (CellType, Int, String?, E) -> Void open class RxTableViewRealmDataSource: NSObject, NSTableViewDataSource, NSTableViewDelegate { @@ -153,7 +153,7 @@ import RxRealm self.cellIdentifier = cellIdentifier self.cellFactory = { ds, tv, row, columnId, model in let cell = tv.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: cellIdentifier), owner: tv) as! CellType - cellConfig(cell, row, model) + cellConfig(cell, row, columnId, model) return cell } }