使用第一字母对象属性索引的索引 UITableViewDataSource。ADBIndexedTableView 使用反射和消息转发。
尝试使用包含的示例项目。
如果您想使用 CocoaPods 将此组件作为 pod 包含在内,只需将以下行添加到 Podfile: pod "ADBIndexedTableView"
简单用法
ADBIndexedTableView.h
indexDataSource
并实现 objectsFieldForIndexedTableView:
方法(用于排序和索引)#pragma mark - ADBIndexedTableViewDataSource
- (NSString *)objectsFieldForIndexedTableView:(ADBIndexedTableView *)tableView {
return objectPropertyAsString;
}
tableView:cellForRowAtIndexPath:
可以通过 objectAtIndexPath:
方法检索给定 indexPath 的对象indexedTableView:cellForRowAtIndexPath:usingObject:
,并且它仅在 dataSource 没有提供 tableView:cellForRowAtIndexPath:
实现时使用。- (UITableViewCell *)indexedTableView:(ADBIndexedTableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
usingObject:(id)object { ... }
reloadDataWithObjects:
方法重新加载数据,发送 unsorted objects 让 indexedTableView 创建数据结构。对于随后的重新加载,使用 reloadData
。{
... // retrieve objects
NSArray *objects = @[...] // objects retrieved
[self.tableView reloadDataWithObjects:objects];
}
在新的 BSD 许可证下发布。
版权所有 (c) 2013, Alberto De Bortoli。保留所有权利。
在不违反以下条件的情况下,允许在源代码和二进制代码形式下重新分发和使用,无论是否修改: * 源代码重新分发必须保留上述版权声明、本许可条件以及以下声明。 * 二进制形式重新分发必须以文档和/或提供的其他材料的形式复制上述版权声明、本许可条件以及以下声明。 * 不得使用 Alberto De Bortoli 的名字或其贡献者的名字来认可或推广从本软件衍生出的产品,除非有明确的书面许可。
本软件由版权所有者和贡献者“按现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证。在任何情况下,Alberto De Bortoli 对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于因使用本软件而导致的代替货物或服务的采购、使用、数据或利润损失;或业务中断)不承担责任,无论此类损害是根据合同、严格责任、侵权(包括疏忽)或其他法律理论产生,即使已被告知此类损害的可能。