TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Oct 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✓ |
Maintained by Dima Pilipenko.
Swift library of generic table view controller with external data processing of functionality,
like determine cell’s reuseIdentifier
related to indexPath
,
configuration of requested cell for display and cell selection handler etc
Initialization and cell registering.
let flexibleTableVC = FlexibleTableViewController<CustomCellData, OrderedListGenerator<CustomCellData>>(style: .plain, configuration: TableConfiguation())
flexibleTableVC.register(CustomUITableViewCell.self, forCellReuseIdentifier: CustomUITableViewCell.reuseIdentifier)
Define “reuse identifier” relatively to indexPath:
flexibleTableVC.requestCellIdentifier = { indexPath in
return CustomUITableViewCell.reuseIdentifier
}
Configure cell relatively to data:
flexibleTableVC.configureCell = { (cell: UITableViewCell, data: CustomCellData?) in
guard let data = data else { return false }
if let detailedData = data as? DetailedCustomCellData {
cell.textLabel?.text = detailedData.title
cell.detailTextLabel?.text = detailedData.detailed
}
cell.backgroundColor = data.backgroundColor
return true
}
Process cell select here:
flexibleTableVC.cellDidSelect = { indexPath in
// return true for immediately deselection
return true
}
Updated to Swift 4
FlexibleTableViewController is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod "FlexibleTableViewController"
Pilipenko Dima, [email protected]
FlexibleTableViewController is available under the MIT license. See the LICENSE file for more info.