为智能开发者提供的一种方便处理 UITableViewDataSource 和 UITableViewDelegate 的方法。
你实现 UITableViewDataSource 和 UITableViewDelegate 的次数有多少?
这很无聊吗?在一个 TableView 中如何处理不同的 UITableViewCell?
既然你是聪明的,那么你也需要一种智能的方法。
ATTableView 就是为了你,它能够在 UITableView 中轻松显示模型。并且支持不同的 UITableViewCell。
所以现在
所以现在
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 نیاز به برخی از پیادهسازیها در سلول شما دارد، بنابراین سلول شما باید این پروتکل را پیادهسازی کند.
یک پروژه نمونه در پوشه Demo وجود دارد. یا میتوانید دستورالعملها را در اینجا دنبال کنید اینجا.
انjoy!
پس از چندین تنظیم، استفاده از 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.addItems([restaurant, hotel])
3. از آن لذت ببرید!
就像这样简单
self.tableView.onDidSelectItem = { [weak self] item in
// Handle selected item here
...
}
即将推出…
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.1'
然后,运行以下命令
$ pod install
ATTableView 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE。