iOSEasyList 1.0.8

iOSEasyList 1.0.8

mtpFontManager维护。



  • Mostafa Taghipour

iOSEasyList

CI Status Version License Platform

Android版本在此

是一个简化UITableView和UICollectionView数据源和单元格设置和配置的框架。它允许以类型安全地设置(UITableView,UICollectionView)DataSource和Delegate。DataSource还提供了开箱即用的diffing和动画删除、插入、移动和更改。

实现自己的列表所需的一切

  • 易于使用的UITableView和UICollectionView
  • 不再需要调用reloadData
  • 可区分
  • 可配置动画
  • 分区
  • 分页
  • 可折叠
  • 加载页脚
  • 各种UICollectionView布局
  • 空视图
  • 可筛选
  • 多种数据类型

animation expandable filtering message layout pagination sectioned

要求

  • Swift 4
  • iOS 8+

安装

iOSEasyList通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中

pod 'iOSEasyList'

使用说明

  1. 定义你的模型
struct Movie{
    let id : String
    let title : String
}

//optional: If you want to use Diffable capabilities (e.g. automatic animations like delete, insert, move , reload)
//           inherit 'Diffable' ptotocol
extension Movie:Diffable{
    var diffIdentifier: String {
        return id
    }

    //optional: this function need for automatic reload
    func isEqual(to object: Any) -> Bool {
        guard let to = object as? Model else { return false }

        return self.id==to.id &&
               self.title==to.title
    }
}
  1. 在 ViewController 中定义 TableViewAdapter
lazy var adapter: TableViewAdapter = { [unowned self] in
    let adapter=TableViewAdapter(tableView: tableView) { (tv, ip, item) -> (UITableViewCell) in
        let cell = tv.dequeueReusableCell(withIdentifier: MovieCell.reuseIdentifier, for: ip) as! MovieCell
        cell.data = item as? Movie
        return cell
    }
    
    //optional
    adapter.animationConfig = AnimationConfig(reload: .fade, insert: .top, delete: .bottom)
    
    return adapter
}()
  1. 设置数据
override func viewDidLoad() {
    super.viewDidLoad()
    adapter.setData(newData: items, animated: true)
}
  1. 这就是全部,更多示例请参阅示例项目

示例

要运行示例项目,请首先克隆库,然后从 Example 目录运行 pod install

感谢

作者

Mostafa Taghipour, [email protected]

许可

iOSEasyList 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。