NATTableView 3.0.3

NATTableView 3.0.3

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2016年10月
SPM支持SPM

Nguyen Phu Nghia维护。



ATTableView

为智能开发者提供一种处理UITableView的懒人方法。

为什么使用ATTableView?

您有多少次不得不实现UITableViewDatasource和UITableViewDelegate?
这很无聊吗?而且如何在同一个TableView中处理不同的UITableViewCells?

您很聪明,所以您需要一个智能的方法来做这件事。
ATTableView就是为了您,它很容易在UITableView中显示模型。还支持不同的UITableViewCells。

传统方法

alt tag

所以现在

  • 您不必实现任何UITableViewDatasource和UITableViewDelegate的方法。大多数都应该在UITableViewCell中完成。
  • 重用UITableViewCell非常简单。
  • 模型由ATTableView管理,不再是ViewController。
  • 允许基于模型类型显示UITableViewCells,而不需要痛苦。设置后,只需将模型推送到ATTableView即可,然后单元格将自动获取模型并显示。

懒人方法

alt tag

现在

  • 不需要实现任何UITableViewDatasource和UITableViewDelegate的方法。大多数都应该在UITableViewCell中完成。
  • 重用UITableViewCell非常简单。
  • 模型由ATTableView管理,不再是ViewController。
  • 允许基于模型类型显示UITableViewCells,而不需要痛苦。完成一些设置后,只需将模型推送到ATTableView,然后单元格将自动选择模型并显示。
  • 支持泛型和关联类型,因此不需要类型断言。

引入ATTableViewCellProtocol

public protocol ATTableViewCellProtocol: NSObjectProtocol {
    typealias ModelType

    // Optional, default is ClassName
    static func reuseIdentifier() -> String

    // Optional, default is ClassName
    static func nibName() -> String?

    // Optional, default is `UITableViewAutomaticDimension`
    static func height(model: ModelType) -> CGFloat

    // Define how to map properties of model to UI.
    // This method must be implemented.
    func configureCell(model: ModelType)
}

ATTableView需要您在单元格中进行一些实现,因此您的单元格必须实现此协议。

  • 不需要实现所有方法,一些方法已经有了默认实现。
  • 不需要类型断言。ModelType基于您的定义。

示例项目

示例目录中有示例项目。或者遵照以下说明进行操作
祝您玩得开心!

使用方法

一些设置之后,使用ATTableView非常简单。在您的ViewController中,只需按照以下步骤操作

1.注册您的单元格

self.tableView.register(RestaurantTableViewCell.self)
self.tableView.register(HotelTableViewCell.self)

2.推送您的模型

let restaurant = Restaurant()
... // Some extra initializions

let hotel = Hotel()
... // Some extra initializions

self.tableView.addObjects([restaurant, hotel])

3.享受它!

alt tag

处理单元格的点击事件

就像这样简单

self.tableView.onDidSelectItem = { [weak self] item in
    // Handle selected item here
    ...
}

从网络懒加载模型

即将推出…

要求

  • iOS 8.0+ / Mac OS X 10.9+
  • Xcode 6.4

安装

CocoaPods 是 Cocoa 项目的依赖管理器。

CocoaPods 0.36 添加了对 Swift 和嵌入式框架的支持。您可以使用以下命令安装它

$ gem install cocoapods

要使用 CocoaPods 将 ATTableView 集成到您的 Xcode 项目中,在您的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'ATTableView', '1.2'

然后,运行以下命令

$ pod install

许可证

ATTableView 根据 MIT 许可证发布。见 LICENSE 获取详细信息。