测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新发布 | 2017年4月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Alex Severyanov 维护。
简化的 UITableView, UICollectionView 和其他具有集合结构视图的管理器
这是用于处理表格视图、收集视图以及任何其他具有集合结构的视图的层。
当前的测试项目包含一些简单的示例:1. 简单的表格视图 2. 简单的收集视图 3. iPhone 上的 UITableView,但 iPad 上的 UICollectionView 4. 具有集合结构的自定义视图 5. 一个 UITableView,但多个 DataSource
此模块包含 3 个基本对象:1. 展示者 - UI 操作的基础类。只有这个对象与 UI 交互,并在需要时实现视图的 delegate/data source。2. 数据源 - 模型的存储。3. 映射 - 返回有关应用于模型或索引路径的视图信息
var presenter: TablePresenter<ArraySource<MenuCellModel>>!
lazy var dataSource: ArraySource<MenuCellModel> = [
MenuCellModel(title: "Table View", segueID: "Table"),
MenuCellModel(title: "Collection View", segueID: "Collection"),
MenuCellModel(title: "iPhone/iPad", segueID: "Universal"),
MenuCellModel(title: "Custom View", segueID: "Custom"),
MenuCellModel(title: "One table view, several data sources", segueID: "Segment")
]
override func viewDidLoad() {
super.viewDidLoad()
let map = DefaultMap()
map.viewInfoGeneration = { _,_ in ViewInfo(identifier: "Cell", viewClass: MocTableCell.self) }
presenter = TablePresenter(tableView, source: dataSource, map: map)
presenter.delegate.didSelectCell = { [unowned self] _, model, _ in
self.performSegue(withIdentifier: model.segueID, sender: nil)
}
}