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