TableViewAgent
封装 UITableViewDataSource 和 UITableViewDelegate 的库
安装
CocoaPods
pod 'TableViewAgent'
使用
- 使用
dequeueReusableCellWithIdentifier:
方法从 UITableViewDataSource 返回实例 - 实现
setViewObject:
方法以返回实例 - 在 TableViewAgent 中声明一个成员变量
- 在
viewDidload
中设置 TableViewAgent - 在 viewController 中实现
cellIdentifier:
方法
@implementation CustomViewController {
TableViewAgent *agent;
}
- (void)viewDidLoad {
[super viewDidLoad];
agent = [[TableViewAgent alloc] init];
agent.viewObjects = [[FRCAgentViewObject alloc] initWithFetch:fetchResultController];
agent.delegate = self;
}
- (NSString *)cellIdentifier:(id)viewObject {
return @"Cell";
}
@end
@implementation CustomTableViewCell
- (void)setViewObject:(Model *)model {
self.textLabel.text = model.text;
}
@end
想法
UITableView是一个用于显示特定集合的视图。该集合始终按唯一顺序定义,有时会分组。集合的数量等于UITableViewCell的数量。每个集合元素都持有足够的信息来绘制UITableViewCell。由于每个元素都是独立的,所以没有在Cell(Cell中的交互或无交互)中出现的交互。
每个元素都映射到Cell。在映射时,通过消息将setViewObject:
元素发送到UITableViewCell。显示方法和更改Cell是责任。虽然Cell是通过元素的内容选择的,但是它是通过cellIdentifier:
执行的。
贡献
- Fork它!
- 创建您的功能分支:
git checkout -b my-new-feature
- 提交您的更改:
git commit -am '添加一些功能'
- 推送到分支:
git push origin my-new-feature
- 提交拉取请求 :D
许可
MIT