ADBIndexedTableView 1.1.0

ADBIndexedTableView 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 BSD 3.0
发布上次发布2015年3月

Alberto De Bortoli维护。



  • 作者:
  • Alberto De Bortoli

使用第一字母对象属性索引的索引 UITableViewDataSource。ADBIndexedTableView 使用反射和消息转发。

尝试使用包含的示例项目。

如果您想使用 CocoaPods 将此组件作为 pod 包含在内,只需将以下行添加到 Podfile: pod "ADBIndexedTableView"

简单用法

  • 将 ADBIndexedTableView 和 ADBMessageInterceptor 类复制到您的项目中
  • 在您的类中导入 ADBIndexedTableView.h
  • 以常用的方式创建一个 ADBIndexedTableView(与 UITableView 一样)
  • 像通常一样设置代理和 dataSource(使用 Interface Builder 或程序化进行)
  • 设置 indexDataSource 并实现 objectsFieldForIndexedTableView: 方法(用于排序和索引)
#pragma mark - ADBIndexedTableViewDataSource
- (NSString *)objectsFieldForIndexedTableView:(ADBIndexedTableView *)tableView {
    return objectPropertyAsString;
}
  • dataSource 实现的 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];
}

1 2

许可证

在新的 BSD 许可证下发布。

版权所有 (c) 2013, Alberto De Bortoli。保留所有权利。

在不违反以下条件的情况下,允许在源代码和二进制代码形式下重新分发和使用,无论是否修改: * 源代码重新分发必须保留上述版权声明、本许可条件以及以下声明。 * 二进制形式重新分发必须以文档和/或提供的其他材料的形式复制上述版权声明、本许可条件以及以下声明。 * 不得使用 Alberto De Bortoli 的名字或其贡献者的名字来认可或推广从本软件衍生出的产品,除非有明确的书面许可。

本软件由版权所有者和贡献者“按现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证。在任何情况下,Alberto De Bortoli 对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于因使用本软件而导致的代替货物或服务的采购、使用、数据或利润损失;或业务中断)不承担责任,无论此类损害是根据合同、严格责任、侵权(包括疏忽)或其他法律理论产生,即使已被告知此类损害的可能。

资源

信息可以在我的网站Twitter上找到。