我确定以前有人问过这个问题,但我在搜索中找不到任何东西。
我有一个城市名称列表,可以根据所选国家/地区进行更改。我想按字母顺序订购这些,并根据第一个字母(如联系人列表)将它们显示在部分中。
我怎样才能做到这一点?我必须手动创建所有部分还是有内置方法?
谢谢。
我确定以前有人问过这个问题,但我在搜索中找不到任何东西。
我有一个城市名称列表,可以根据所选国家/地区进行更改。我想按字母顺序订购这些,并根据第一个字母(如联系人列表)将它们显示在部分中。
我怎样才能做到这一点?我必须手动创建所有部分还是有内置方法?
谢谢。
将您的数据源排序为您希望的顺序,然后重新加载表格视图。
尝试制作 NSMutableArrays 的 NSDictionary。取每个城市的第一个字母,toUpper it。然后将您的城市插入到字母 k 的数组中。
部分数 = [[NSDictionary allKeys] 计数]
NSArray* cityNames = [NSArray arrayWithObject: @"Detroit"];
NSMutableDictionary* dataSource = [[NSMutableDictionary alloc] init];
for( NSString* city_name in cityNames){
NSString* key = [[city_name substringToIndex:1] uppercaseString];
if( ![dataSource objectForKey: key] ){
[dataSource setObject:[NSMutableArray array] forKey:key];
}
[[dataSource objectForKey: key] addObject: city_name];
}
如果您需要更多帮助来设置您的 tableview 数据源,请在评论中说出来,我会为您提供更多帮助。干杯
是的,您必须手动创建所有部分。并且将部分存储在NSDictionary
. 要有字母的部分索引只需返回它们的数组sectionIndexTitlesForTableView: