0

我有一个未排序的 NSArray 名称。我知道如何构建一个静态表,但我不确定如何制作一个动态表,该表将包含一个包含名称第一个字母的部分,然后将该字母的名称放入每个部分。我知道这听起来像是一个初学者级别的编程问题,而且确实如此。任何帮助都会很棒。刚接触 iOS 编程,所以我只是想感受一下一切。

4

1 回答 1

1

您可以使用TLIndexPathTools使用基于块的数据模型初始化程序轻松完成此操作:

NSArray *items = ...; // and array containing your unorganized data (items of type NSString assumed here)
TLIndexPathDataModel *dataModel = [[TLIndexPathDataModel alloc] initWithItems:items sectionNameBlock:^NSString *(id item) {
    return [[((NSString *)item) substringToIndex:1] upperCaseString];
} identifierBlock:nil];

参数是一个块,它返回给定项目的sectionNameBlock第一个字母,初始化程序使用它来将数据组织成部分。然后,您将dataModel在数据源中使用(而不是数组)并使用各种 API(如[dataModel numberRowsInSection:][dataModel itemAtIndexPath:][dataModel indexPathForItem:]等)委托方法。

尝试运行“块”示例项目以获取工作示例。

于 2013-11-08T22:40:20.880 回答