diff --git a/Demo.xcodeproj/project.pbxproj b/Demo.xcodeproj/project.pbxproj index 85b0426..1a30e90 100644 --- a/Demo.xcodeproj/project.pbxproj +++ b/Demo.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 142E72801E2385BE001ACF3F /* CustomTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 142E727E1E2385BE001ACF3F /* CustomTableViewCell.swift */; }; + 142E72811E2385BE001ACF3F /* CustomTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 142E727E1E2385BE001ACF3F /* CustomTableViewCell.swift */; }; 14308AA21CC66665000C21DF /* DATASource+NSFetchedResultsControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14308A9C1CC66665000C21DF /* DATASource+NSFetchedResultsControllerDelegate.swift */; }; 14308AAA1CC66665000C21DF /* DATASource+UICollectionViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14308A9D1CC66665000C21DF /* DATASource+UICollectionViewDataSource.swift */; }; 14308AB21CC66665000C21DF /* DATASource+UITableViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14308A9E1CC66665000C21DF /* DATASource+UITableViewDataSource.swift */; }; @@ -114,6 +116,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 142E727E1E2385BE001ACF3F /* CustomTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomTableViewCell.swift; sourceTree = ""; }; 14308A9C1CC66665000C21DF /* DATASource+NSFetchedResultsControllerDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DATASource+NSFetchedResultsControllerDelegate.swift"; sourceTree = ""; }; 14308A9D1CC66665000C21DF /* DATASource+UICollectionViewDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DATASource+UICollectionViewDataSource.swift"; sourceTree = ""; }; 14308A9E1CC66665000C21DF /* DATASource+UITableViewDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DATASource+UITableViewDataSource.swift"; sourceTree = ""; }; @@ -295,6 +298,7 @@ 1498B6061C3BC9E80066FAC8 /* DataModel.xcdatamodeld */, 1498B6051C3BC9E80066FAC8 /* CollectionCell.swift */, 44A8DB5D1DB77E62009EF5A7 /* Helper.swift */, + 142E727E1E2385BE001ACF3F /* CustomTableViewCell.swift */, ); path = Library; sourceTree = ""; @@ -763,6 +767,7 @@ 14F2858E1DB9859A00028AD4 /* CollectionViewMultipleCellIdentifiers.swift in Sources */, 44B91D281DB774B6009DB4B7 /* DATASource+NSFetchedResultsControllerDelegate.swift in Sources */, 447D2EEC1DB78559006CBF1C /* CollectionViewControllerWithSections.swift in Sources */, + 142E72801E2385BE001ACF3F /* CustomTableViewCell.swift in Sources */, 14663CA61DB97F2D00E8ABFC /* TableViewControllerWithSectionsWithoutIndex.swift in Sources */, 44B91D2E1DB774BF009DB4B7 /* DATASourceCollectionHeaderView.swift in Sources */, 447D2EE71DB784F9006CBF1C /* OptionsController.swift in Sources */, @@ -788,6 +793,7 @@ 44B91D2D1DB774BD009DB4B7 /* DATASource+UITableViewDataSource.swift in Sources */, 44B91D291DB774B6009DB4B7 /* DATASource+NSFetchedResultsControllerDelegate.swift in Sources */, 44B91D271DB774B4009DB4B7 /* DATASourceDelegate.swift in Sources */, + 142E72811E2385BE001ACF3F /* CustomTableViewCell.swift in Sources */, 4471D4E51DB7822C00DE1EBE /* FooterExampleView.m in Sources */, 44B91D001DB7729D009DB4B7 /* main.m in Sources */, 44A8DB5F1DB77E62009EF5A7 /* Helper.swift in Sources */, diff --git a/Library/CustomTableViewCell.swift b/Library/CustomTableViewCell.swift new file mode 100644 index 0000000..a3d37c8 --- /dev/null +++ b/Library/CustomTableViewCell.swift @@ -0,0 +1,13 @@ +import UIKit + +class CustomTableViewCell: UITableViewCell { + public static let Identifier = "CustomTableViewCell" + + override init(style: UITableViewCellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/SwiftDemo/TableViewController/TableViewController.swift b/SwiftDemo/TableViewController/TableViewController.swift index 6fd9d7e..d56b08e 100644 --- a/SwiftDemo/TableViewController/TableViewController.swift +++ b/SwiftDemo/TableViewController/TableViewController.swift @@ -11,8 +11,10 @@ class TableViewController: UITableViewController { NSSortDescriptor(key: "name", ascending: true), ] - let dataSource = DATASource(tableView: self.tableView, cellIdentifier: "Cell", fetchRequest: request, mainContext: self.dataStack.mainContext) - dataSource.delegate = self + let dataSource = DATASource(tableView: self.tableView, cellIdentifier: CustomTableViewCell.Identifier, fetchRequest: request, mainContext: self.dataStack.mainContext) { cell, item, indexPath in + let cell = cell as! CustomTableViewCell + cell.textLabel?.text = item.value(forKey: "name") as? String ?? "" + } return dataSource }() @@ -30,22 +32,14 @@ class TableViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() - self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") + self.tableView.register(CustomTableViewCell.self, forCellReuseIdentifier: CustomTableViewCell.Identifier) self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(TableViewController.saveAction)) self.tableView.dataSource = self.dataSource - let object = self.dataSource.objectAtIndexPath(IndexPath(row: 0, section: 0))! - print(object) + _ = self.dataSource.objectAtIndexPath(IndexPath(row: 0, section: 0)) } func saveAction() { Helper.addNewUser(dataStack: self.dataStack) } } - -extension TableViewController: DATASourceDelegate { - - func dataSource(_ dataSource: DATASource, configureTableViewCell cell: UITableViewCell, withItem item: NSManagedObject, atIndexPath indexPath: IndexPath) { - cell.textLabel?.text = item.value(forKey: "name") as? String ?? "" - } -} diff --git a/SwiftDemo/TableViewControllerWithSections/TableViewControllerWithSections.swift b/SwiftDemo/TableViewControllerWithSections/TableViewControllerWithSections.swift index 14e8fe1..d7ed769 100644 --- a/SwiftDemo/TableViewControllerWithSections/TableViewControllerWithSections.swift +++ b/SwiftDemo/TableViewControllerWithSections/TableViewControllerWithSections.swift @@ -34,9 +34,6 @@ class TableViewControllerWithSections: UITableViewController { self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(TableViewController.saveAction)) self.tableView.dataSource = self.dataSource - - let object = self.dataSource.objectAtIndexPath(IndexPath(row: 0, section: 0))! - print(object) } func saveAction() { diff --git a/SwiftDemo/TableViewControllerWithSectionsWithoutIndex/TableViewControllerWithSectionsWithoutIndex.swift b/SwiftDemo/TableViewControllerWithSectionsWithoutIndex/TableViewControllerWithSectionsWithoutIndex.swift index f403d4f..5016d35 100644 --- a/SwiftDemo/TableViewControllerWithSectionsWithoutIndex/TableViewControllerWithSectionsWithoutIndex.swift +++ b/SwiftDemo/TableViewControllerWithSectionsWithoutIndex/TableViewControllerWithSectionsWithoutIndex.swift @@ -34,9 +34,6 @@ class TableViewControllerWithSectionsWithoutIndex: UITableViewController { self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(TableViewController.saveAction)) self.tableView.dataSource = self.dataSource - - let object = self.dataSource.objectAtIndexPath(IndexPath(row: 0, section: 0))! - print(object) } func saveAction() {